各位大侠,小弟的以下代码执行时总是提示 必须声明标量变量 "@u_name"。不知道问题出到哪儿了,请大侠看看,谢谢!
protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection myconneciton = new SqlConnection();
myconneciton.ConnectionString = myclass.myconn.sqlconnection;
myconneciton.Open();
string sql = "select * from user_login where rtrim(ltrim(u_name)) = @u_name and rtrim(ltrim(u_pass)) = @u_pass";
SqlCommand mycommand = new SqlCommand(sql, myconneciton);
/*实例化一个dataset对象*/
DataSet mydataset = new DataSet("myds"); /*实例化一个SqlDataAdapter对象*/
SqlDataAdapter myadapter = new SqlDataAdapter();
myadapter.SelectCommand = new SqlCommand(sql, myconneciton);
myadapter.FillSchema(mydataset,SchemaType.Source,"myds");
myadapter.Fill(mydataset,"user_login"); mycommand.Parameters.Add(new SqlParameter("@u_name",SqlDbType.NVarChar,10));
mycommand.Parameters["@u_name"].Value = TextBox1.Text.Trim(); mycommand.Parameters.Add(new SqlParameter("@u_pass", SqlDbType.NVarChar, 20));
mycommand.Parameters["@u_pass"].Value = TextBox2.Text.Trim(); myconneciton.Close();
}
protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection myconneciton = new SqlConnection();
myconneciton.ConnectionString = myclass.myconn.sqlconnection;
myconneciton.Open();
string sql = "select * from user_login where rtrim(ltrim(u_name)) = @u_name and rtrim(ltrim(u_pass)) = @u_pass";
SqlCommand mycommand = new SqlCommand(sql, myconneciton);
/*实例化一个dataset对象*/
DataSet mydataset = new DataSet("myds"); /*实例化一个SqlDataAdapter对象*/
SqlDataAdapter myadapter = new SqlDataAdapter();
myadapter.SelectCommand = new SqlCommand(sql, myconneciton);
myadapter.FillSchema(mydataset,SchemaType.Source,"myds");
myadapter.Fill(mydataset,"user_login"); mycommand.Parameters.Add(new SqlParameter("@u_name",SqlDbType.NVarChar,10));
mycommand.Parameters["@u_name"].Value = TextBox1.Text.Trim(); mycommand.Parameters.Add(new SqlParameter("@u_pass", SqlDbType.NVarChar, 20));
mycommand.Parameters["@u_pass"].Value = TextBox2.Text.Trim(); myconneciton.Close();
}
{
SqlConnection myconneciton = new SqlConnection();
myconneciton.ConnectionString = myclass.myconn.sqlconnection;
myconneciton.Open();
string sql = "select * from user_login where rtrim(ltrim(u_name)) = @u_name and rtrim(ltrim(u_pass)) = @u_pass";
SqlCommand mycommand = new SqlCommand(sql, myconneciton);
mycommand.Parameters.Add(new SqlParameter("@u_name",SqlDbType.NVarChar,10));
mycommand.Parameters["@u_name"].Value = TextBox1.Text.Trim(); mycommand.Parameters.Add(new SqlParameter("@u_pass", SqlDbType.NVarChar, 20));
mycommand.Parameters["@u_pass"].Value = TextBox2.Text.Trim();
/*实例化一个dataset对象*/
DataSet mydataset = new DataSet("myds"); /*实例化一个SqlDataAdapter对象*/
SqlDataAdapter myadapter = new SqlDataAdapter();
myadapter.SelectCommand = new SqlCommand(sql, myconneciton);
myadapter.FillSchema(mydataset,SchemaType.Source,"myds");
myadapter.Fill(mydataset,"user_login"); myconneciton.Close();
}顺序颠倒了。先给参数赋值,然后填充DataSet
{
SqlConnection myconneciton = new SqlConnection();
myconneciton.ConnectionString = myclass.myconn.sqlconnection;
string sql = "select * from user_login where rtrim(ltrim(u_name)) = @u_name and rtrim(ltrim(u_pass)) = @u_pass";
SqlCommand mycommand = new SqlCommand(sql, myconneciton);
mycommand.Parameters.Add(new SqlParameter("@u_name",SqlDbType.NVarChar,10));
mycommand.Parameters["@u_name"].Value = TextBox1.Text.Trim(); mycommand.Parameters.Add(new SqlParameter("@u_pass", SqlDbType.NVarChar, 20));
mycommand.Parameters["@u_pass"].Value = TextBox2.Text.Trim();
/*实例化一个dataset对象*/
DataSet mydataset = new DataSet("myds"); /*实例化一个SqlDataAdapter对象*/
SqlDataAdapter myadapter = new SqlDataAdapter();
myadapter.SelectCommand = mycommand;
myconneciton.Open();
myadapter.FillSchema(mydataset,SchemaType.Source,"myds");
myadapter.Fill(mydataset,"user_login"); myconneciton.Close();
} 顺序颠倒了。先给参数赋值,然后填充DataSet,
语句也给你稍微修改了