2012-07-13 43 views
0

我的大部分查询都很短,总共有1-3条记录。这是我现在的代码。我想知道是否有方法直接从DataAdapter捕获用户ID,而不通过表。谢谢!c# - 你需要一个DataTable来从DataAdapter检索数据吗?

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

如果只有一个返回值,你可以使用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])); 
     } 
    } 
} 
+0

很酷,将来会在我的代码中使用这个,谢谢! – Rob 2012-07-13 20:11:33

相关问题