0

私はLINQを初めて使用するので、質問がばかげている場合は申し訳ありません。

データベースからいくつかの値を取得し、textBoxes に入れる必要があります。それだけ。以下のコードのようなものですが、LINQ を使用しています。

編集:実際には、複数のフィールドを取得したいです。そのように:

SqlDataReader dr = new functionThatReturnsDataReader();
if (dr.HasRows) {
    dr.Read();

    txtId = dr["Id"].ToString();
    txtName = dr["Name"].ToString();
}

私はこの解決策をオンラインで見つけました:

IDbCommand command = dc.GetCommand(query);
command.Connection = dc.Connection;
command.Connection.Open();
IDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);

ただし、LINQ を標準の executeReader と組み合わせると、LINQ が表すすべてのものを削除しているように思えます。データ コンテキストとクエリを構築する理由はなく、それらは ADO のように実行されます...

IDbCommand と IDataReader を使用せずに同じことを達成するにはどうすればよいですか?

4

4 に答える 4

1

データベースから LINQ to SQL クラスを作成する必要があると思います: http://msdn.microsoft.com/en-us/library/bb384428.aspx

次に、データベース テーブルをオブジェクトのように扱い、linq でクエリを実行できます...実行しようとしているクエリの詳細がなければ、linq クエリを作成することはできませんが、DBML ファイルを作成することが最初のステップです。

于 2013-09-18T18:41:24.163 に答える
-1
var q = from c in context.GetTable<tbl_user>()
    where c.user_ID == lbuserid.Text.ToString()
    select new
    {
        c.Username,
        c.firstname
    };

foreach (var item in q)
{
    lbusername.Text = item.Username;
    lbfirstname.Text = item.firstname;
}
于 2016-07-04T16:34:44.440 に答える