Bạn có thể cần dấu ngoặc kép xung quanh các trường chuỗi đó, nhưng bạn nên sử dụng truy vấn được tham số hóa!
cmd.CommandText = "INSERT INTO Data ([Name],PhoneNo,Address) VALUES (@name, @phone, @address)";
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@name", txtName.Text);
cmd.Parameters.AddWithValue("@phone", txtPhone.Text);
cmd.Parameters.AddWithValue("@address", txtAddress.Text);
cmd.Connection = connection;
Ngẫu nhiên, truy vấn ban đầu của bạn có thể đã được sửa như thế này (lưu ý các dấu ngoặc kép):
"VALUES ('" + txtName.Text + "','" + txtPhone.Text + "','" + txtAddress.Text + "');";
nhưng điều này sẽ khiến nó dễ bị tấn công SQL Injection vì người dùng có thể nhập vào
'; drop table users; --
vào một trong các hộp văn bản của bạn. Hay nói một cách trần tục hơn, Daniel O'Reilly tội nghiệp luôn ngắt câu hỏi của bạn.