首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SqlException未处理

SqlException未处理
EN

Stack Overflow用户
提问于 2011-06-23 21:25:55
回答 3查看 3.9K关注 0票数 0

在下面的屏幕截图中我得到了一个类似的错误。我的问题是:当我试图将这些信息写入文本框中的表中时,这是不是给了我错误的error.Where?顺便说一下,我使用的是SQL Server Express 2008。

代码语言:javascript
复制
private void btnprnsave_Click(object sender, EventArgs e)
    {          
        SqlConnection conn = DBConfigs.DataCon();
        SqlCommand record = new SqlCommand ("insert into dbo.PersonalInformationTable (PersonalName,PersonalSurname,PersonalEGN) values ("+txtPrnName.Text+","+txtPrnSurName.Text+","+txtPrnEgn.Text+")", conn);
        record.ExecuteNonQuery();
        conn.Close();
   }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-23 21:34:12

如果数据库文件存在,请使用

  1. 正确格式化您的SQL (单引号)。
  2. 不要使用SQL Server Management Studio Express同时附加数据库文件,因为您不能将同一数据库文件附加到两个不同的SQL Server (Express) SQL Server,请确保您关闭了数据库连接。这应该通过using语句来实现,因为无论该代码块是如何留下的(异常或正常程序流),Dispose()方法都将被调用。这将始终关闭连接,从而避免了连接泄漏。
票数 1
EN

Stack Overflow用户

发布于 2011-06-23 21:28:40

这有点难说,但看起来您需要转义insert语句中的值。

代码语言:javascript
复制
"insert into dbo.PersonalInformationTable (PersonalName,PersonalSurname,PersonalEGN) values ('"+txtPrnName.Text+"','"+txtPrnSurName.Text+"','"+txtPrnEgn.Text+"')", conn);
票数 1
EN

Stack Overflow用户

发布于 2011-06-23 21:26:59

您需要将查询中的文本值用单引号引起来。甚至更好;使用参数...

您得到的异常可能是由其他原因引起的,但查询本身并不正确,如上所述……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6454809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档