2012-07-13 38 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