0

我的大多数查询都很短,总共 1-3 条记录。这是我现在拥有的代码。我想知道是否有一种方法可以直接从 DataAdapter 捕获用户 ID 而无需通过表。谢谢!

    SqlDataAdapter dataAdapter = new SqlDataAdapter(strSQL, strCon);
    SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
    DataTable t = new DataTable();
    dataAdapter.Fill(t);
    int userid = 0;
    if (t.Rows.Count > 0)
    {
        DataRow dr = t.Rows[0];
        userid = dr.Field<int>(0); 
4

2 回答 2

4

如果你只有一个返回值,你可以使用ExecuteScalar并且你有ExecuteReader来获取多个返回值。

这是 msdn 示例:

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        connection.Open();

        SqlCommand command = new SqlCommand(queryString, connection);
        SqlDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            Console.WriteLine(String.Format("{0}", reader[0]));
        }
    }
}
于 2012-07-13T18:02:09.597 回答
2

使用阅读器:

http://msdn.microsoft.com/en-US/library/system.data.sqlclient.sqldatareader(v=vs.80).aspx

更快和更少的资源 1 条记录或数百条记录。

于 2012-07-13T18:02:50.927 回答