日期:2014-05-20  浏览次数:20797 次

DataTable的用法??
string   sql= "select   *   from   table ";
OleDbDataAdapter   objAdapter   =   new   OleDbDataAdapter(sql,System.Configuration.ConfigurationSettings.AppSettings[ "ConnString "]);
DataSet   ds   =   new   DataSet();
DataTable   MyTable   =   new   DataTable()
objAdapter.Fill(ds, "table ");
MyTable=ds.Tables[ "table "];
Mytable.Columns.Add( "ColumnName ",????);

------解决方案--------------------
Mytable.Columns.Add( "ColumnName ", typeof(columndatatype));
------解决方案--------------------
Mytable.Columns.Add( "ColumnName ", typeof(columndatatype));
正解..

------解决方案--------------------
Mytable.Columns.Add( "ColumnName ");//不指定類型
------解决方案--------------------
看了下MSDN,总共五种重载方法:

举出你可能用得上的三种如下:

DataColumnCollection.Add (String) 创建一个具有指定名称的 DataColumn 对象,并将其添加到 DataColumnCollection 中。

DataColumnCollection.Add (String, Type) 创建一个具有指定名称和类型的 DataColumn 对象,并将其添加到 DataColumnCollection 中。

DataColumnCollection.Add (String, Type, String) 创建一个具有指定名称、类型和表达式的 DataColumn 对象,并将其添加到 DataColumnCollection 中。


------解决方案--------------------
你的Mytable.Columns就是DataColumnCollection类型的...
------解决方案--------------------
private void Form1_Load(object sender, EventArgs e)
{
this.sqlDataAdapter1.Fill(ds, "t1 ");
this.dataGridView1.DataSource = ds;
this.dataGridView1.DataMember = "t1 ";
}

private void button1_Click(object sender, EventArgs e)
{
DataTable dt = ds.Tables[0];
dt.Columns.Add( "NewCol ");
this.sqlDataAdapter1.Update(ds, "t1 ");
}


我的物理数据库为什么没有添加一行
------解决方案--------------------
ex:
table.Columns.Add( "a ",typeof(System.Int32));

------解决方案--------------------
添加列要在填充datatable 之前完成,
不能填充数据后再增加列