如何在更新查询中将格式为 test@test1.com 的电子邮件地址传递给 Access DB
How to pass email address in the format test@test1.com in an update query to the Access DB
我正在尝试将 Access 数据库中的电子邮件列更新为 "test@test1.com"。
但我收到此错误/异常
'System.Data.OleDb.OleDbException' 类型的未处理异常发生在 System.Data.dll
附加信息:查询表达式中的语法错误(缺少运算符)'test@test1.com'。
我的代码如下。
string em = "test@" + comId + ".com";
string cmd = "UPDATE tblWebUsers SET Email ="+ em +" WHERE CustRole = 'SuperAdmin'";
OleDbCommand cmdv3 = new OleDbCommand(cmd, con);
cmdv3.ExecuteNonQuery();
有帮助吗???
查询中的电子邮件地址不在引号之间,因此数据库服务器尝试将电子邮件地址解析为指令而不是字符串。
string em = "test@" + comId + ".com";
string cmd = "UPDATE tblWebUsers SET Email ='"+ em +"' WHERE CustRole = 'SuperAdmin'";
OleDbCommand cmdv3 = new OleDbCommand(cmd, con);
cmdv3.ExecuteNonQuery();
抱歉,这是我的一个错误。
要在 access db 中的查询中传递字符串值,您必须将其括在单引号内。另一种更好的方法和安全编码的方法是使用参数
string email = "test@test1.com";
string comp = "test1";
string cmd = "UPDATE tblCustomerUsers SET Email = ? WHERE CompanyID = ? AND CustRole = 'SuperAdmin'";
OleDbCommand cmdv3 = new OleDbCommand(cmd, con);
cmdv3.Parameters.AddWithValue("@p1", email);
cmdv3.Parameters.AddWithValue("@p2", comp);
cmdv3.ExecuteNonQuery();
感谢那些回答的人。非常感谢您的出色工作。
我正在尝试将 Access 数据库中的电子邮件列更新为 "test@test1.com"。 但我收到此错误/异常
'System.Data.OleDb.OleDbException' 类型的未处理异常发生在 System.Data.dll
附加信息:查询表达式中的语法错误(缺少运算符)'test@test1.com'。
我的代码如下。
string em = "test@" + comId + ".com";
string cmd = "UPDATE tblWebUsers SET Email ="+ em +" WHERE CustRole = 'SuperAdmin'";
OleDbCommand cmdv3 = new OleDbCommand(cmd, con);
cmdv3.ExecuteNonQuery();
有帮助吗???
查询中的电子邮件地址不在引号之间,因此数据库服务器尝试将电子邮件地址解析为指令而不是字符串。
string em = "test@" + comId + ".com";
string cmd = "UPDATE tblWebUsers SET Email ='"+ em +"' WHERE CustRole = 'SuperAdmin'";
OleDbCommand cmdv3 = new OleDbCommand(cmd, con);
cmdv3.ExecuteNonQuery();
抱歉,这是我的一个错误。
要在 access db 中的查询中传递字符串值,您必须将其括在单引号内。另一种更好的方法和安全编码的方法是使用参数
string email = "test@test1.com";
string comp = "test1";
string cmd = "UPDATE tblCustomerUsers SET Email = ? WHERE CompanyID = ? AND CustRole = 'SuperAdmin'";
OleDbCommand cmdv3 = new OleDbCommand(cmd, con);
cmdv3.Parameters.AddWithValue("@p1", email);
cmdv3.Parameters.AddWithValue("@p2", comp);
cmdv3.ExecuteNonQuery();
感谢那些回答的人。非常感谢您的出色工作。