为什么老是提示必须声明标量变量 "@UserName"啊?求高手解救!
string connstr = System.Configuration.ConfigurationManager.ConnectionStrings["IPTVConnectionString"].ConnectionString.ToString();SqlConnection myconn = new SqlConnection(connstr);
string sql = "insert into Users(UserName,LoginName,PassWord,leves,易做图,phone,email,email,address,sfID) values (@UserName,@LoginName,@PassWord,@leves,@易做图,@phone,@email,@email,@address,@sfID)";
SqlCommand cmd = new SqlCommand(sql, myconn);
myconn.Open();
int r = cmd.ExecuteNonQuery();
try
{
if (r > 0)
{
cmd.CommandText = "select * from Users";
SqlDataReader dr= cmd.ExecuteReader();
this.GridView1.Caption = "增加后的查询结果";
this.GridView1.DataSource = dr;
this.GridView1.DataBind();
}
} --------------------编程问答-------------------- cmd.Parameters.Add(new SqlParameter("@UserName", "UserName"));
cmd.Parameters.Add(new SqlParameter("@LoginName", "LoginName"));
cmd.Parameters.Add(new SqlParameter("@PassWord", "PassWord"));
cmd.Parameters.Add........
............
依次给参数赋值 --------------------编程问答-------------------- 不对。。你的参数那里多写了个:,@email
,@phone,@email,@email --------------------编程问答-------------------- phone,email,email, --------------------编程问答-------------------- ,@email,@email
============
太粗心了 --------------------编程问答-------------------- 还未传参~~!! --------------------编程问答-------------------- 没给参数传值 --------------------编程问答--------------------
一个个的去对值。肯定是值没有对上 --------------------编程问答-------------------- 楼主你这是到底用sql语句呢,还是用存储过程啊。
用sql语句的话。
你申明变量的话不就好了。
string @UserName,@LoginName,@PassWord,@leves,@易做图,@phone,@email,@email,@address,@sfID;
如果是存储过程的话。你真心写错了。
存储过程是调用的。 --------------------编程问答-------------------- 要给参数赋值 --------------------编程问答-------------------- 没传参数到cmd --------------------编程问答-------------------- 忘了传参数吧 --------------------编程问答-------------------- 楼上们说的都很对哦 --------------------编程问答-------------------- 恩恩,赞同楼上们的说法,楼主再仔细检查下代码。 --------------------编程问答-------------------- 没传参数~~~~
补充:.NET技术 , ASP.NET