0

2 つの datagridview (viewa、viewb) があります。クリックして行viewaをviewbに渡し、viawbで編集します。サーバーからviewaにアイテムを取得できますが、データテーブルを更新できません。現在、1つのdgvでこれを試しています。少なくとも私に指示していただければ幸いです。

                public Form1()
    {
        InitializeComponent();
    }
    SqlCommand command = new SqlCommand();
    DataTable data = new DataTable();
    private void Form1_Load(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = "server=server.server.com;user=testuser;pwd=password;database=test";
        SqlCommand command = new SqlCommand();
        command.Connection = conn;
        command.CommandText = "select * from malzeme";
        DataTable data = new DataTable();
        SqlDataAdapter adapter = new SqlDataAdapter(command);
        adapter.Fill(data);
        dataGridView1.DataSource = data;
    }

    private void save_Click(object sender, EventArgs e)
    {
        try
        {
            string connectionString= "server=server.server.com;user=testuser;pwd=password;database=test";


            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                SqlDataAdapter adapter = new SqlDataAdapter();
                adapter.UpdateCommand = new SqlCommand("UPDATE malzeme SET malzemekodu=@malzemekodu " + "WHERE Id=@Id", conn);

                adapter.Update(data);
            }

           }


        catch
        {
        }
    }
}

これはdgvの例ですhttp://i.imgur.com/bQn4hZV.png

4

1 に答える 1

0

あなたが提供した不完全なコードから、SqlDataAdapter の InsertCommand/UpdateCommand/DeleteCommand プロパティを定義していないようです。データベースを更新する方法を教えないと、方法がわかりません... データベースを更新するために SqlDataAdapter を使用する方法をよりよく理解するのに役立つリンクは次のとおりです: http://support.microsoft.com/ kb/308055 . 幸運を!

編集 コマンドテキストにパラメーターを入力する必要があります。

using (SqlConnection conn = new SqlConnection(connectionString))
{
    SqlDataAdapter adapter = new SqlDataAdapter();
    SqlCommand cmd = new SqlCommand("UPDATE malzeme SET malzemekodu=@malzemekodu WHERE Id=@Id", conn);
    //  Add parameters to the command to replace the parameter tokens in your command text
    cmd.Parameters.Add(new SqlParameter("@malzemekodu", "someValue"));
    cmd.Parameters.Add(new SqlParameter("@Id", "someId"));

    adapter.UpdateCommand = cmd; 

    adapter.Update(data);
}
于 2013-10-06T13:22:52.980 に答える