asp.net中的SQL select查询

时间:2011-03-23 12:21:15

标签: asp.net sql sql-server

任何人都可以告诉我如何从表中获取SELECT查询的值

protected void Button_Click(object sender, EventArgs e)
{
   string select_qry = "SELECT ID, USER, FILE, DATE, LASTUSED from FILE_INFO where USER = '" + user + "'"; // ID is primary key
   SqlCommand cmd = new SqlCommand(select_qry);
   GridView1.DataSource = GetData(cmd);
   GridView1.DataBind();
}

private DataTable GetData(SqlCommand cmd)
{
   DataTable dt = new DataTable();
   SqlDataAdapter sda = new SqlDataAdapter();
   cmd.CommandType = CommandType.Text;
   cmd.Connection = conn1;
   conn1.Open();
   sda.SelectCommand = cmd;
   sda.Fill(dt);
   return dt;
}  

我有不同的用户我希望获得用户ID如果用户不同说'Sheena'的ID值为1-10,但如果用户是'Sara'并且她的ID是11-20,那么我想得到特别是用户ID如何从选择查询中获取ID可以任何人知道然后请帮助我:))

3 个答案:

答案 0 :(得分:3)

如果ID始终位于select语句的第一位,您可以调用它:

VB.NET

var dt = GetData(cmd);
dt.Rows.Item(0).Item("ID")

C#的.NET

var dt = GetData(cmd);
dt.Rows[0]["ID"];

答案 1 :(得分:0)

我不是很好。但

示例数据

DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("userName", typeof(string));

dt.Rows.Add(1, "Sheena");
dt.Rows.Add(2, "Meena");
dt.Rows.Add(2, "Teena");

获取第一行的ID。

if (dt.Rows.Count > 0)
{
    // return id in first row.
    int id = (int)dt.Rows[0]["id"];
}

DataTable Select方法

if (dt.Rows.Count > 0)
{
    DataRow[] dr = dt.Select("userName = 'Meena'");

    if (dr.Length > 0)
    {
            int id2 = (int)dr[0]["id"];
    }

}

还有其他方法,但我很快就能写出来。

答案 2 :(得分:0)

我认为您可以在查询中执行此操作,例如

Select case id >= 11 and id <= 20 then 'specially id' end as ID ......

因为'user'是一个参数,所以您可以在创建查询时知道id范围。

所以,你的源代码中不需要任何逻辑,只需像@Mark那样获取数据。