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

戻り値が 1 つしかない場合は、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 に答える