comm.ExecuteNonQuery()为什么报错?

ljq2222 2010-10-15 07:19:43
最近学习ASP.NET,写了一个数据插入的代码,但一运行就报错。代码如下:

string KindNameStr = TxtKindName.Text.Trim();//获取文本框的值
SqlConnection conn = new SqlConnection();//创建数据库连接对象
conn.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=zhongyuan;User ID=sa;Password=012345";//设置数据库连接字符串
conn.Open();//打开数据库连接
SqlCommand comm = new SqlCommand("insert into BigKind (cKindName) values ('"+KindNameStr+"')",conn);
comm.ExecuteNonQuery();
labAddState.Text = "类别添加成功!";


报错信息如下:

不能将值 NULL 插入列 'nID',表 'zhongyuan.dbo.BigKind';列不允许有空值。INSERT 失败。
语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 不能将值 NULL 插入列 'nID',表 'zhongyuan.dbo.BigKind';列不允许有空值。INSERT 失败。
语句已终止。

源错误:


行 27: conn.Open();//打开数据库连接
行 28: SqlCommand comm = new SqlCommand("insert into BigKind (cKindName) values ('"+KindNameStr+"')",conn);
行 29: comm.ExecuteNonQuery(); 行 30: labAddState.Text = "类别添加成功!";
行 31: }


源文件: d:\test\KindManage\BigKindAdd.aspx.cs 行: 29

堆栈跟踪:


[SqlException (0x80131904): 不能将值 NULL 插入列 'nID',表 'zhongyuan.dbo.BigKind';列不允许有空值。INSERT 失败。
语句已终止。]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1950890
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4846875
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) +192
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +317
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +137
KindManage_BigKindAdd.Button1_Click(Object sender, EventArgs e) in d:\test\KindManage\BigKindAdd.aspx.cs:29
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565



...全文
448 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljq2222 2010-10-15
  • 打赏
  • 举报
回复
我是照着教程上做的,看来还是不能全相信教程啊!!
beyond_me21 2010-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 abcjun188 的回复:]
BigKind 这个表 有个 nid 字段的,自己看看,不允许为空的,改一下自己的insert 语句
[/Quote]
顶楼上的,你的字段nid不允许为空,但你插入的内容没有这个字段
打一壶酱油 2010-10-15
  • 打赏
  • 举报
回复
BigKind 这个表 有个 nid 字段的,自己看看,不允许为空的,改一下自己的insert 语句

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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