向sql数据库中插入数据时,插入的是变量名,而不是变量名对应的字符串,是哪里错了?
正在学习sql server,这个问题整了好久也没弄明白。
相关的语句:
conn.ConnectionString = "Server = (local);" + "Database = MsgBoard;" + "Integrated Security=true;";
...
dbCmd.CommandText = "insert into post(name,subject,message,ip)
values('''+strName+''','''+strSubject''','''+strMsg+''','''+strIP+''');";
dbCmd.ExecuteNonQuery();
在数据库中得到的分别是 '+strName+' '+strSubject' '+strMsg+' '+strIP+'
并不是那些变量对应的值。那个地方出错了?
------解决方案--------------------
不知道你是否用过模板字符串
dbCmd.CommandText = String.Format(@"insert into post(name,subject,message,ip)
values('{0}','{1}','{2}','{3}')",strName,strSubject,message,ip);
在这里加上断点,然后把拼接出来的CommandText作为SQL命令直接在查询分析器里面执行,看会不会得到正确结果,然后再进行修改即可。
------解决方案--------------------
"insert into post(name,subject,message,ip)
values('+strName+','+strSubject','+strMsg+','+strIP+');";
这些无非就是引号的问题