当我遇到这个未处理的异常时,我试图将数据插入数据库:
System.Data.SqlClient.SqlException
中出现System.Data.dll
类型的例外但未在用户代码中处理
这是代码
public void addEvent(String username, int id, String date)
{
String conString = "Data Source=(LocalDB)\\v11.0;AttachDbFilename=\"C:\\Users\\SleekBook\\Documents\\Visual Studio 2013\\WebSites\\WebSite2\\App_Data\\Database.mdf\";Integrated Security=True";
using (SqlConnection con = new SqlConnection(conString))
{
String sqlStringS = "INSERT INTO Users (Username, EventID, Date) VALUES (@Username, @EventID, @Date)";
SqlCommand cmd = new SqlCommand(sqlStringS);
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
cmd.Parameters.AddWithValue("@Username", username);
cmd.Parameters.AddWithValue("@EventID", id);
cmd.Parameters.AddWithValue("@Date", date);
con.Open();
cmd.ExecuteNonQuery();
}
}
如您所见,我尝试插入两个字符串和一个int。
错误发生在:
cmd.ExecuteNonQuery();
其他信息:无效的列名称'EventID' 列名称“日期”无效。
列名是正确的。
答案 0 :(得分:0)
我建议这些:
dbo.TableName
等表格前缀。[
]
和[prefix].[tablename].[fieldname]
例如,对此问题的更好查询是:
String sqlStringS = "INSERT INTO [dbo].[Users] ([Username], [EventID], [Date]) VALUES (@Username, @EventID, @Date)";