将数据插入SQL Server表时出错

时间:2016-05-18 21:25:59

标签: c# sql-server

  

编译错误

     

描述:编译资源期间发生错误   需要为此请求提供服务。请查看以下具体内容   错误详细信息并适当修改源代码。

     

编译器错误消息:CS0165:使用未分配的局部变量   '用户名'

c#代码:

SqlCommand NewUser = new SqlCommand("INSERT INTO [DeleteUser] Values (@username,@password,@name,@lastname,@location,@profesion,@email,@gender,@money,@pro,@xp,@lv,@m1,@m2,@m3,@m4,@m5,@d1,@d2,@d3,@d4,@d5);", c);
NewUser.Connection = c;

NewUser.Parameters.AddWithValue("@username", Username);
NewUser.Parameters.AddWithValue("@password", Pasword);
NewUser.Parameters.AddWithValue("@name", FName);
NewUser.Parameters.AddWithValue("@lastname", LName);
NewUser.Parameters.AddWithValue("@location", Location);
NewUser.Parameters.AddWithValue("@profesion", Profesion);
NewUser.Parameters.AddWithValue("@email", email);
NewUser.Parameters.AddWithValue("@gender", gender);
NewUser.Parameters.AddWithValue("@money", money);
NewUser.Parameters.AddWithValue("@pro", property);
NewUser.Parameters.AddWithValue("@xp", xp);
NewUser.Parameters.AddWithValue("@lv", level);
NewUser.Parameters.AddWithValue("@m1", mission1);
NewUser.Parameters.AddWithValue("@m2", mission2);
NewUser.Parameters.AddWithValue("@m3", mission3);
NewUser.Parameters.AddWithValue("@m4", mission4);
NewUser.Parameters.AddWithValue("@m5", mission5);
NewUser.Parameters.AddWithValue("@d1", did1);
NewUser.Parameters.AddWithValue("@d2", did2);
NewUser.Parameters.AddWithValue("@d3", did3);
NewUser.Parameters.AddWithValue("@d4", did4);
NewUser.Parameters.AddWithValue("@d5", did5);

c.Open();
NewUser.ExecuteNonQuery();
c.Close();

2 个答案:

答案 0 :(得分:0)

用户名可能为空

SetDescriptorHeaps

答案 1 :(得分:0)

编译器错误消息:CS0165:使用未分配的本地变量“用户名”

当您在方法中声明用户名时,此错误会为您提供。您需要先为其分配一个默认值,然后指定您想要的实际值

演示:

public void InsertMethod()
{
   string Username;
   //string Username="";      it should be like this

   MessageBox.Show(Username);// this will give you error of "unassigned local variable"
}

P.S。 最好使用

NewUser.Parameters.Add("@parameterName",SqlDbType.VarChar).Value = "somevalue"

比使用它:

NewUser.Parameters.AddWithValue("@username", Username);

这个会给你错误,尤其是涉及日期,时间和批量插入/更新时。