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 回答