C# 无法插入数据源
C# can't insert into Data Source
这是我的代码:
try
{
SqlCommand cmd2 = new SqlCommand(@"INSERT INTO Clienti (parola,nume,prenume,adresa,email,kcal_zilnice) VALUES (@Parola,@Nume,@Prenume,@Adresa,@Email,2000)", conn);
cmd2.Prepare();
cmd2.Parameters.AddWithValue("@Parola", passBox.Text);
cmd2.Parameters.Add("@Nume", SqlDbType.VarChar, 50).Value = nameBox.Text;
cmd2.Parameters.Add("@Prenume", SqlDbType.VarChar, 50).Value = pnameBox.Text;
cmd2.Parameters.Add("@Adresa", SqlDbType.VarChar, 100).Value = adressBox.Text;
cmd2.Parameters.Add("@Email", SqlDbType.VarChar, 100).Value = emailBox.Text;
cmd2.ExecuteNonQuery();
}
catch (SqlException exception)
{
MessageBox.Show("Failed! " + exception.Message);
}
MessageBox.Show("User Created!");
我不知道我做错了什么。我什至尝试用 'abc' 替换@Parola,但它不起作用。我没有收到任何错误消息。每次我得到 "User Created",但当我查看数据库时,我得到所有字段 NULL(没有创建记录)。
所以,对于任何遇到同样问题的人来说,Prepare() 解决了它。
使用 Add() 作为参数并指定 SqlDbType。 Prepare() 不能与 AddWithValue() 一起使用。
最后执行 Prepare() 然后执行 ExecuteNonQuery()。
这是我的代码:
try
{
SqlCommand cmd2 = new SqlCommand(@"INSERT INTO Clienti (parola,nume,prenume,adresa,email,kcal_zilnice) VALUES (@Parola,@Nume,@Prenume,@Adresa,@Email,2000)", conn);
cmd2.Prepare();
cmd2.Parameters.AddWithValue("@Parola", passBox.Text);
cmd2.Parameters.Add("@Nume", SqlDbType.VarChar, 50).Value = nameBox.Text;
cmd2.Parameters.Add("@Prenume", SqlDbType.VarChar, 50).Value = pnameBox.Text;
cmd2.Parameters.Add("@Adresa", SqlDbType.VarChar, 100).Value = adressBox.Text;
cmd2.Parameters.Add("@Email", SqlDbType.VarChar, 100).Value = emailBox.Text;
cmd2.ExecuteNonQuery();
}
catch (SqlException exception)
{
MessageBox.Show("Failed! " + exception.Message);
}
MessageBox.Show("User Created!");
我不知道我做错了什么。我什至尝试用 'abc' 替换@Parola,但它不起作用。我没有收到任何错误消息。每次我得到 "User Created",但当我查看数据库时,我得到所有字段 NULL(没有创建记录)。
所以,对于任何遇到同样问题的人来说,Prepare() 解决了它。 使用 Add() 作为参数并指定 SqlDbType。 Prepare() 不能与 AddWithValue() 一起使用。 最后执行 Prepare() 然后执行 ExecuteNonQuery()。