public static object login(string username, string password) { string sqlstr = "select a_id,a_root from [Admin] where a_username=@name and a_password=@pass"; SqlParameter[] para = { new SqlParameter("name",username), new SqlParameter("pass",password)}; object result = ConnDBHelper.GetReader(sqlstr, para); return result; } public static SqlDataReader GetReader(string Sql, params SqlParameter[] values) { SqlCommand cmd = new SqlCommand(Sql, Connection); cmd.Parameters.AddRange(values); return cmd.ExecuteReader(); }取a_id
时间: 2024-02-14 12:12:25 浏览: 90
实验5_数据库增删改查操作训练二.doc
在 `login` 方法中,你可以通过修改 SQL 语句和使用 `SqlDataReader` 来获取查询结果中的 `a_id` 值。以下是一些示例代码:
```
public static int LoginAndGetId(string username, string password)
{
string sql = "SELECT a_id FROM [Admin] WHERE a_username=@name AND a_password=@pass";
SqlParameter[] para = {
new SqlParameter("@name", username),
new SqlParameter("@pass", password)
};
using (SqlConnection conn = new SqlConnection("连接字符串"))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddRange(para);
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read()) // 如果查询结果非空
{
return reader.GetInt32(0); // 获取查询结果的第一列(a_id)
}
}
}
}
return -1; // 如果查询结果为空,返回 -1 或其他适当的值
}
```
在上面的代码中,我们使用 `SqlDataReader` 来执行查询并获取查询结果。在读取查询结果之前,我们需要使用 `reader.Read()` 方法将 `SqlDataReader` 定位到第一行,然后使用 `reader.GetInt32(0)` 方法获取查询结果的第一列(即 `a_id`)的整数值。需要注意的是,如果查询结果为空,我们返回了 `-1` 值。你可以根据实际情况进行修改。
阅读全文