cmd.ExecuteNonQuery();'“?”附近有语法错误。 100

急急急!!!求解决!!!求大神!!!using(SqlConnectionconn=newSqlConnection()){//数据库连接字符串conn.Connecti... 急急急!!!求解决!!!求大神!!!

using (SqlConnection conn = new SqlConnection())
{
// 数据库连接字符串
conn.ConnectionString = "Initial Catalog=hqc;Data Source= JTKP;Integrated Security=True";
conn.Open(); // 打开数据库

SqlCommand cmd = new SqlCommand();
cmd.Connection = conn; // 设置command对象的数据库连接
// 添加语句,如果对语句有疑问,请参阅《.net中对常用数据库的操作说明》
cmd.CommandText = "insert into Message(UserName,[Content],ip,dtmDate) values(?,?,?,?)";
cmd.Parameters.Add(new SqlParameter("1", TextBox1.Text));
cmd.Parameters.Add(new SqlParameter("2", TextBox2.Text));
cmd.Parameters.Add(new SqlParameter("3", GetRemoteIP()));
cmd.Parameters.Add(new SqlParameter("4", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
int i = cmd.ExecuteNonQuery();
if (i> 0) // 如果返回的影响行数大于0,说明插入成功
{
TextBox1.Text = "";
TextBox2.Text = "";
ClientScript.RegisterStartupScript(GetType(), "", "alert('留言成功')", true);
}
else
{
ClientScript.RegisterStartupScript(GetType(), "", "alert('留言失败')", true);
}
}
}
展开
 我来答
晓峰观星
2015-04-06 · TA获得超过216个赞
知道小有建树答主
回答量:321
采纳率:100%
帮助的人:159万
展开全部
你查一查你的Message数据表中是不是应该还有一个不允许为null的字段,而你在这一句insert语句中却没有对它进行赋值,建议你重新调试下你的sql语句
更多追问追答
追问

大神我数据表是这样的!出来主键不允许为空,其他都是可以赋空的啊!

如何调整SQL语句啊???

追答
很久没有写过这种sql语句了,一般都是直接做存储过程,把参数传给存储过程,让数据库自己执行,或者主键都不用自增变量,基本都是可以写一个唯一性方法
个人建议你如果这样写的话,可以采用insert into Message values(?,?,?,?),然后传进去的参数顺序与你数据的字段顺序一致试试,好久没写过这种语句了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式