我的物理数据库为什么没有添加一行
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 ");
}
我的物理数据库为什么没有添加一行
------解决方案--------------------Adapter的InsertCommand有了么
------解决方案--------------------你的是为表添加列,你用DataTable.rows.Add(DataRow);来添加数据行,并且保证你的数据源已经配置了更新和插入语句。
------解决方案--------------------TO:dt.Columns.Add( "NewCol ");
你增加了一列,哪是增加一行啊?
------解决方案--------------------TO:dt.Columns.Add( "NewCol ");
你增加一列是什么意思?
------解决方案--------------------查一下adapter有没有 insert,update,select和delete 的command语句。用 sqlDataAdapter1.Update ,必须有这些语句。
------解决方案--------------------SqlCommandBuilder com = new SqlCommandBuilder(new SqlDataAdapter( "insert ", new SqlConnection( " ")));
构造命令试下
------解决方案--------------------数据库里面有几列?
------解决方案--------------------如果这样的话就要执行sql 语句首先在数据库里 bank 表里面加一列 如下:
DECLARE @a VARCHAR(20)
SET @a= 'columnName VARCHAR(20) ' --这里写想要得列名和数据类型
EXEC( 'alter table bank add '+@a+ ' ')
然后执行插入语句
------解决方案--------------------我认为它应该只是更新了数据,但并没有更新到数据表结构
------解决方案--------------------执行下列sql语句
altertable 表名 add 列名 类型