0

コードを実行すると問題が発生し、更新は成功しますが、1行だけ更新したいです。私のコードを介してすべてのデータが update の場合。

私のコードは次のとおりです。

コード

protected void imgbtn_Save_Click(object sender, EventArgs e)
{

        OleDbCommand cmd = new OleDbCommand();
        cmd.CommandText = "update Companies set CompanyFName='" + txt_ComName.Text + "',CompanySName='" + txt_ShortName.Text + "',CompanyeMail='" + txt_email.Text + "',CompanyWebsite='" + txt_website.Text + "'where CompanyId=CompanyId";

        cmd.Connection = conn;
        OleDbDataAdapter da = new OleDbDataAdapter();
        da.UpdateCommand = cmd;

        cmd.ExecuteNonQuery();
        conn.Close();
        BindGridData();
        lblError.Font.Bold = true;
        lblError.Font.Size = 11;
        lblError.Text = "You have successfully modified the case!";
    }

どうしてか分かりません?

Plzは私に提案します。

"ありがとう"

4

1 に答える 1

0

最初にOleDbParameterを使用します。このスレッドをチェックしてください。oledb パラメータを使用してテーブルを更新する方法は? .

コードの問題は、を使用して完全なデータ ソースを BindGridData();更新していることです。他のレコードがコードの別の場所で更新さBindGridData()れ、データベースからデータを再度取得しているように見える場合があります。既存のデータ ソースを一時的な場所に保存してから更新し、db から最新のものを取得する代わりにデータ グリッドにバインドすることができます。

于 2012-05-28T06:26:28.630 に答える