insert出现错误!!!急急急、、、拜托各位了。。。

csl_zm007 2009-07-16 10:11:30
string sqlSave = "insert into tb_Room(RoomName,RoomJC,RoomBJF,RoomWZ,RoomZT,RoomType,RoomQT,RoomBZ)
Values(" + this.txtRoomName.Text.ToString() + ",//RoomName类型varchar

'" + this.txtRooJC.Text + "',//RoomJC类型char

" + this.txtBJF.Text + ",//RoomBJF类型numberic

'" + this.txtRoomWZ.Text + "',//RoomWZ类型char

'" + this.txtRoomZT.Text+ "',//RoomZT类型char

'" + this.txtRoomType.Text + "',//RoomType类型char

" + this.txtQT.Text.ToString() + ",//RoomQT类型varchar

" + this.txtBZ.Text.ToString() + ") ";//RoomBZ类型varchar

int iSave = DB.infoInsert(sqlSave);//DB是自定义类DB.cs
if (iSave == 1)
{
MessageBox.Show("信息添加成功!!!");
datagridviewBind();
txtBJF.ReadOnly = true;
txtBZ.ReadOnly = true;
txtQT.ReadOnly = true;
txtRooJC.ReadOnly = true;
txtRoomName.ReadOnly = true;
txtRoomType.ReadOnly = true;
txtRoomWZ.ReadOnly = true;
txtRoomZT.ReadOnly = true;

btnCancel.Enabled = false;
btnSave.Enabled = false;
btnQuit.Enabled = true;
btnSearch.Enabled = true;
btnUpdate.Enabled = true;
btnDel.Enabled = true;
btnReset.Enabled = true;
}
if (iSave == 0)
{
MessageBox.Show("信息未能成功添加!!!");
}



DB.cs中的infoInsert(string strInsert)如下
public static int infoInsert(string strInsert)
{
try
{
SqlConnection conInsert = DB.createConnection();
SqlCommand cmdInsert = new SqlCommand(strInsert,conInsert);
cmdInsert.ExecuteReader();
conInsert.Close();
return 1;
}
catch (Exception e1)
{
MessageBox.Show(e1.Message, "数据库没有成功连接!!!");
return 0;
}
}



错误:在此下文中不允许使用大厅。此处只允许使用常量、表达式或变量,不允许使用列明





...全文
61 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
csl_zm007 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cmic 的回复:]
Values(" + this.txtRoomName.Text.ToString() + ",
改成
Values('" + this.txtRoomName.Text.ToString() + "',

可能还有是varchar后char的字段没加引号你自己找吧。


你这段代码n多有问题的地方,比如想下面这么处理异常,真的是很垃圾的

catch (Exception e1)
            {
                MessageBox.Show(e1.Message, "数据库没有成功连接!!!");
                return 0;
            }
[/Quote]
谢谢,已经解决了
csl_zm007 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jeff85 的回复:]
正确的Insert 语句是 insert table (a,b) values ('字符1','字符2')。
你上面的sql语句问题在 字符 并没有都用单引号包起来。
出现这些问题建议插个断点,获取你最后会执行的sql语句,在查询分析器里一看就知道什么地方出问题了。
[/Quote]
谢谢,已经解决了
Jeff85 2009-07-16
  • 打赏
  • 举报
回复
正确的Insert 语句是 insert table (a,b) values ('字符1','字符2')。
你上面的sql语句问题在 字符 并没有都用单引号包起来。
出现这些问题建议插个断点,获取你最后会执行的sql语句,在查询分析器里一看就知道什么地方出问题了。
CMIC 2009-07-16
  • 打赏
  • 举报
回复
Values(" + this.txtRoomName.Text.ToString() + ",
改成
Values('" + this.txtRoomName.Text.ToString() + "',

可能还有是varchar后char的字段没加引号你自己找吧。



你这段代码n多有问题的地方,比如想下面这么处理异常,真的是很垃圾的

catch (Exception e1)
{
MessageBox.Show(e1.Message, "数据库没有成功连接!!!");
return 0;
}
ICanUseThisID 2009-07-16
  • 打赏
  • 举报
回复
字符串也要用单引号括起来

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧