希望大家都好,我需要你的帮助,因为我试图将值插入到MS SQL表中,但我遇到了一个问题,因为我有一个主要列是AdsID,其值类型是Int及其身份增量。
请您:当您回答时,您可以简单而详细地解释,因为我在c#中不是专业人士。
错误信息是: 线:940 错误:Sys.WebForms.PageRequestManagerServerErrorException:无法将值NULL插入列'UID',表'Berava.dbo.ads';列不允许空值。 INSERT失败。 该声明已被终止。
代码背后是:
protected void addadsbtn_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection(sc);
SqlCommand cmd = new SqlCommand();
string sqlstatment = "INSERT INTO ads ( CateAct, State, City, AdsTit, AdsDesc, AdsPrice, Img1, img2, img3, img4, img5, Wtags) VALUES ( @CateAct, @State, @City, @AdsTit, @AdsDesc, @AdsPrice, @Img1, @img2, @img3, @img4, @img5, @Wtags)";
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlstatment;
//Insert the parameters first
cmd.Parameters.AddWithValue("@CateAct", Catedrdoads.Text);
cmd.Parameters.AddWithValue("@State", lanadsadddrdo.Text);
cmd.Parameters.AddWithValue("@City", adsaddcitytxtbx.Text);
cmd.Parameters.AddWithValue("@AdsTit", addadstittxtbx.Text);
cmd.Parameters.AddWithValue("@AdsDesc", Adsadddestxtbox.Text);
cmd.Parameters.AddWithValue("@AdsPrice", adsaddpristxtbx.Text);
cmd.Parameters.AddWithValue("@Img1", FileUploadImg1.FileName);
cmd.Parameters.AddWithValue("@Img2", FileUploadImg2.FileName);
cmd.Parameters.AddWithValue("@Img3", FileUploadImg3.FileName);
cmd.Parameters.AddWithValue("@Img4", FileUploadImg4.FileName);
cmd.Parameters.AddWithValue("@Img5", FileUploadImg5.FileName);
cmd.Parameters.AddWithValue("@Wtags", addadswtagtxtbtn.Text);
SqlDataAdapter ad = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
ad.SelectCommand = cmd;
ad.Fill(ds);
Response.Redirect("User panel.aspx");
}
答案 0 :(得分:-4)
那么问题是什么?如果你懒得阅读它会告诉你清楚 - 不理解这意味着“阅读有关sql的书籍”。该表有一个字段,不允许使用NULL并且您的插入不插入数据,因此它将为NULL。该列是 - 因为它在错误“UID”中明确说明
你觉得怎么样?那么......我们可以开始一些基本的逻辑吗?表有字段,必须有一个值,错误是你不提供值。简单逻辑:提供价值,因此可以插入数据。
简单的术语?