【发布时间】:2014-01-16 05:35:34
【问题描述】:
我正在尝试将表单中文本框中的用户详细信息获取到我的数据库以供访问,这应该会保存。但是,每次单击注册时我都会收到一条错误消息,以下代码是我尝试将其写出的方式:
public void AddNewUser()
{
string filePath;
try
{
filePath = (Application.StartupPath + ("\\" + DBFile));
connection = new System.Data.OleDb.OleDbConnection((ConnectionString + filePath));
connection.Open();
System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand();
command.Connection = connection;
// ---set the user's particulars in the table---
string sql = ("UPDATE enroll SET SSN=\'"
+ (txtSSN.Text + ("\', " + ("Name=\'"
+ (txtName.Text + ("\', " + ("Company=\'"
+ (txtCompany.Text +("\', "
+ (" WHERE ID=" + _UserID))))))))));
command.CommandText = sql;
command.ExecuteNonQuery();
MessageBox.Show("User added successfully!", "Error");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Error");
}
finally
{
connection.Close();
}
}
但我认为问题实际上来自这一部分:
// ---set the user's particulars in the table---
string sql = ("UPDATE enroll SET SSN=\'"
+ (txtSSN.Text + ("\', " + ("Name=\'"
+ (txtName.Text + ("\', " + ("Company=\'"
+ (txtCompany.Text +("\', "
+ (" WHERE ID=" + _UserID))))))))));
command.CommandText = sql;
command.ExecuteNonQuery();
MessageBox.Show("User added successfully!", "Error");
【问题讨论】:
-
什么样的错误信息?
-
无效的 SQL 语句。去掉逗号
+ (txtCompany.Text +("\' " -
@Vland 会弹出一个消息框:“System.DataOleDbException: Syntax error in UPDATE Statement... etc etc”
-
所有括号是怎么回事?
-
正如 J Lo 所说...删除逗号。下次也显示错误,不仅是你的代码
标签: sql database visual-studio visual-studio-2012