cmd.ExecuteNonQuery();'(' 附近有语法错误。
using(SqlConnectionconn=newSqlConnection(@"DataSource=.\SQLEXPRESS;AttachDBFilename=|...
using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;
AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Insert into T_Users(UserName,Password) values('" + username + "','" + password + "')";
cmd.ExecuteNonQuery();
Console.WriteLine("插入成功");
}
}
Console.Write("打开数据库链接成功");
Console.ReadKey();
错误显示 展开
AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Insert into T_Users(UserName,Password) values('" + username + "','" + password + "')";
cmd.ExecuteNonQuery();
Console.WriteLine("插入成功");
}
}
Console.Write("打开数据库链接成功");
Console.ReadKey();
错误显示 展开
1个回答
2012-04-14 · 知道合伙人互联网行家
zhuxinjun1982
知道合伙人互联网行家
向TA提问 私信TA
知道合伙人互联网行家
采纳数:2145
获赞数:8329
毕业于上海行健职业学院,大专学历;2007~2009在北大青鸟进修网络编程课目。现任网络主管,平时爱好上网。
向TA提问 私信TA
关注
展开全部
string sql = string.Format("insert into T_Users(UserName,Password) values('{0}','{1}')",username ,password );
cmd.CommandText = sql;
备注:如果你的username和password是变量的话直接这样写就可以了。
如果这2个是你要插入的字符串,那就换成下面的写法
先定义变量:
string Tname="username";
string Pwd="password";
string sql = string.Format("insert into T_Users(UserName,Password) values('{0}','{1}')",username ,password );
cmd.CommandText = sql;
即可。 如果还不行就换下面的写法。
string sql = "insert into T_Users(UserName,Password) values(@UserName,@Password)";
OleDbParameter[] para = new OleDbParameter[]//我用的是ACCESS,你是SQL的话及换成SQL即可,SQL的写法应该是SqlParameter []
{
new OleDbParameter("@UserName",Tname),
new OleDbParameter("@Password",Pwd)
};
cmd.Parameters.AddRange(para);
cmd.ExecuteNonQuery();
cmd.CommandText = sql;
备注:如果你的username和password是变量的话直接这样写就可以了。
如果这2个是你要插入的字符串,那就换成下面的写法
先定义变量:
string Tname="username";
string Pwd="password";
string sql = string.Format("insert into T_Users(UserName,Password) values('{0}','{1}')",username ,password );
cmd.CommandText = sql;
即可。 如果还不行就换下面的写法。
string sql = "insert into T_Users(UserName,Password) values(@UserName,@Password)";
OleDbParameter[] para = new OleDbParameter[]//我用的是ACCESS,你是SQL的话及换成SQL即可,SQL的写法应该是SqlParameter []
{
new OleDbParameter("@UserName",Tname),
new OleDbParameter("@Password",Pwd)
};
cmd.Parameters.AddRange(para);
cmd.ExecuteNonQuery();
追问
string sql = string.Format("insert into T_Users(UserName,Password) values('{0}','{1}')",username ,password );
cmd.CommandText = sql;
这样改可以了。能解释下原本不通过的原因吗,谢谢
追答
不通过因为插入的时候比较讲究呵呵,我没特意去研究过。
以上2种写法适合删除,查找的时候用,插入的时候建议你还是用最后一种比较规范。
错误的原因就是字符串拼接有问题,反正数据库就是不识别。
兄弟这是经验之谈啊,你以后只要知道发生这种情况如何解决就行了,何必去深究呢。
特别是编程,一条路走不通的时候别钻牛角尖,想想其他办法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询