选择命令参数C#

选择命令参数C#,c#,asp.net,c#-4.0,C#,Asp.net,C# 4.0,我需要获取SelectCommand.Parameters的值 你能帮我吗 string sql = "SELECT area, login, senha FROM tbl_usuarios WHERE login = '" + login + "' AND senha = '" + senha + "'"; adapter = new SqlDataAdapter(sql, conn); dataTable = new DataTable(); adapter.SelectCommand.P

我需要获取SelectCommand.Parameters的值

你能帮我吗

string sql = "SELECT area, login, senha FROM tbl_usuarios WHERE login = '" + login + "' AND senha = '" + senha + "'";
adapter = new SqlDataAdapter(sql, conn);
dataTable = new DataTable();

adapter.SelectCommand.Parameters.Add("login", DbType.String);
adapter.SelectCommand.Parameters.Add("senha", DbType.String);

string a = adapter.SelectCommand.Parameters.Add(@"area", DbType.Int16); // Error Coversion
Session.Add("ar", a);

我认为问题在于您试图将Add方法(它是一个SqlParameter)的返回类型分配给字符串

我想你要找的是

SqlParameter a = adapter.SelectCommand.Parameters.Add(@"area", DbType.Int16);
SqlParameter a = adapter.SelectCommand.Parameters.Add(@"area", DbType.Int16);

检查MSDN上的代码:

也许你需要的是:

获取数据表上的值:

string sql = "SELECT area, login, senha FROM tbl_usuarios WHERE login = '" + login + "' AND senha = '" + senha + "'";
adapter = new SqlDataAdapter(sql, conn);
dataTable = new DataTable();
adapter.Fill(dataTable);

string a  = dataTable.Rows["area"].toString(); //get area value..
Session.Add("ar", a);

关于

您的问题不清楚,但是Add方法返回一种类型的SqlParameter,因此:

string a = adapter.SelectCommand.Parameters.Add(@"area", DbType.Int16);
他错了。。它需要:

        bool encontrou = false;
        string sql = "SELECT area, login, senha FROM tbl_usuarios WHERE login = '" + login + "' AND senha = '" + senha + "'";
        command = new SqlCommand(sql, conn);
        try
        {
            conn.Open();
            dataReader = command.ExecuteReader();
            while(dataReader.Read())
            {
                string area = dataReader["area"].ToString();
                Session.Add("area", area);
                encontrou = true;
            }
        }