这是在登录时的一段代码,运行到sqlcomm1.ExecuteNonQuery()时,出现如下的错误提示:“无法将 NULL 值插入列 'EventID',表 'WorkerManget.dbo.SystemEvent';该列不允许空值。INSERT 失败。语句已终止。”
SystemEvent是表名,只是想记录一下登录情况,然后将登录情况插入到SystemEvent中。
为什么会出现上面的情况啊?怎么解决啊?
private void btnOK_Click(object sender, EventArgs e)
{
string userName = string.Empty, password = string.Empty;
SqlCommand sqlcomm = new SqlCommand("select * from Worker where WorkerLogin='" +textBox1.Text + "'",da.link());//
SqlDataReader reader = sqlcomm.ExecuteReader();
if(reader.Read())
{
userName = reader.GetValue(2).ToString();
password = reader.GetValue(3).ToString();
}
if (userName==textBox1.Text)
{
if (password==textBox2.Text)
{
MessageBox.Show("用户名及密码正确。", "提示");
SqlCommand sqlcomm1 = new SqlCommand("insert SystemEvent" + "(EventDepict,EventHappenTime)" +
"values(@EventDepict,@EventHappenTime)", da.link());
sqlcomm1.Parameters.AddWithValue("@EventDepict", "用户" + textBox1.Text + "登录");
sqlcomm1.Parameters.AddWithValue("@EventHappenTime", DateTime.Now.ToString());
sqlcomm1.ExecuteNonQuery();
this.Close();
FormSystemGuanli form = new FormSystemGuanli();
form.ShowDialog();
}
else
{
MessageBox.Show("密码错误!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox2.Text = "";
}
}
else
{
MessageBox.Show("登录名错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox1.Text = "";
}
}
SystemEvent是表名,只是想记录一下登录情况,然后将登录情况插入到SystemEvent中。
为什么会出现上面的情况啊?怎么解决啊?
private void btnOK_Click(object sender, EventArgs e)
{
string userName = string.Empty, password = string.Empty;
SqlCommand sqlcomm = new SqlCommand("select * from Worker where WorkerLogin='" +textBox1.Text + "'",da.link());//
SqlDataReader reader = sqlcomm.ExecuteReader();
if(reader.Read())
{
userName = reader.GetValue(2).ToString();
password = reader.GetValue(3).ToString();
}
if (userName==textBox1.Text)
{
if (password==textBox2.Text)
{
MessageBox.Show("用户名及密码正确。", "提示");
SqlCommand sqlcomm1 = new SqlCommand("insert SystemEvent" + "(EventDepict,EventHappenTime)" +
"values(@EventDepict,@EventHappenTime)", da.link());
sqlcomm1.Parameters.AddWithValue("@EventDepict", "用户" + textBox1.Text + "登录");
sqlcomm1.Parameters.AddWithValue("@EventHappenTime", DateTime.Now.ToString());
sqlcomm1.ExecuteNonQuery();
this.Close();
FormSystemGuanli form = new FormSystemGuanli();
form.ShowDialog();
}
else
{
MessageBox.Show("密码错误!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox2.Text = "";
}
}
else
{
MessageBox.Show("登录名错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox1.Text = "";
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货