0

データ行オブジェクトが作成された場所でエラーが発生しています。

オブジェクト参照がオブジェクト インスタンスに設定されていません

protected void Button2_Click(object sender, EventArgs e)
    {
        SqlConnection con2 = new SqlConnection("Data Source=AMIT-PC\\SQLEXPRESS;Initial Catalog=Amit;Integrated Security=true");
        con2.Open();
        SqlCommand cmd2 = new SqlCommand("Select * from  hotel.country", con2);

        SqlDataAdapter da2 = new SqlDataAdapter(cmd2);
        SqlCommandBuilder sb = new SqlCommandBuilder(da2);
        DataSet ds2 = new DataSet();
        da2.Fill(ds2);
       /* GridView2.DataSource = ds2;
        GridView2.DataBind();*/

        DataRow dr = ds2.Tables["hotel.country"].NewRow();
        dr[ds2.Tables[TextBox1.Text].Columns[0].ColumnName] = TextBox2.Text;
        dr[ds2.Tables[TextBox1.Text].Columns[1].ColumnName] = TextBox3.Text;
        da2.Update(ds2);
        GridView1.DataBind();

    }
4

2 に答える 2

0

次のようなマッピングを作成できます。

da2.TableMappings.Add("Table", "Hotel.Country");

または、次の方法でアクセスします。

ds2.Tables[0].NewRow();

編集:

テーブル名を使用したい場合は、これがさらに簡単になる可能性があります。

da2.Fill(ds2, "Hotel.Country");
于 2013-03-09T10:35:09.357 に答える
0

これを試してみてください...

    DataRow dr = ds2.Tables[0].NewRow();
    dr[ds2.Tables[TextBox1.Text].Columns[0].ColumnName] = TextBox2.Text;
    dr[ds2.Tables[TextBox1.Text].Columns[1].ColumnName] = TextBox3.Text;
    da2.Update(ds2);

これはあなたを助けることができるかもしれません....

于 2013-03-09T10:59:44.700 に答える