当前位置:编程学习 > C#/ASP.NET >>

在做ASP.net第一步书上留言板程序的时候 出现错误

CS代码
using System;
using System.Data;
using System.Data.SqlClient;//加入命名空间                  
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void tb_SendMessage_Click(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection(@"server=microsof-468164\sqlexpress;database=GuestBook;Trusted_Connection=True");
        string Sql = "INSERT INTO tbGuestBook (UserName,PostTime,Message,IsReplied,Reply) VALUES (' test ',' 2006-11-2 12:00 ',' 编程快乐',0,'')";
        SqlCommand cmd = new SqlCommand(Sql, conn);
        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();

    }
}
执行过程中出现异常信息如下:
用户代码未处理 System.Data.SqlClient.SqlException
  Message="不能将值 NULL 插入列 'ID',表 'GuestBook.dbo.tbGuestBook';列不允许有空值。INSERT 失败。\r\n语句已终止。"
  Source=".Net SqlClient Data Provider"
  ErrorCode=-2146232060
  Class=16
  LineNumber=1
  Number=515
  Procedure=""
  Server="microsof-468164\\sqlexpress"
  State=2
  StackTrace:
       在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
       在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
       在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
       在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
       在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
       在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
       在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
       在 _Default.tb_SendMessage_Click(Object sender, EventArgs e) 位置 d:\Backup\我的文档\Visual Studio 2005\WebSites\WebSite1\Default.aspx.cs:行号 24
       在 System.Web.UI.WebControls.Button.OnClick(EventArgs e)
       在 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
       在 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
       在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
       在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
       在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

怎么办哦。谢谢大家啦 --------------------编程问答-------------------- 看起来象是象guestbook表插入字段时,ID字段未有值,ID是主键吧,如果不想自己插入主键,就将这个字段设为自增的吧 --------------------编程问答-------------------- "INSERT   INTO   tbGuestBook   (UserName,PostTime,Message,IsReplied,Reply)   VALUES   ('   test   ','   2006-11-2   12:00   ','   编程快乐',0,'')"; 

'')"; 
表中 reply 字段应该是不能为空的!加个值试试! --------------------编程问答-------------------- 有个字段不能为空。但你给了他null --------------------编程问答-------------------- string   Sql   =   "INSERT   INTO   tbGuestBook   (UserName,PostTime,Message,IsReplied,Reply)   VALUES   ('   test   ','   2006-11-2   12:00   ','   编程快乐',0,'')"; 
少插入一列. --------------------编程问答-------------------- 楼主在创建数据库的时候 Reply 字段 是否在 允许空 上打勾? 本人刚做完这个没出现这个问题 --------------------编程问答-------------------- 表的id字段设为自动编号(access),sqlserver也差不多. --------------------编程问答-------------------- 谢谢大家了。真是奇怪。我把数据库重新整了一遍。就好了。其他的未动。数据库的赋值上Reply一直是允许空的 怪事 --------------------编程问答-------------------- 如果问题解决请结,谢谢!
不知道怎么结贴?!请查看下面的帖子。
http://topic.csdn.net/u/20080110/19/7cb462f1-cac6-4c28-848e-0a879f4fd642.html
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,