返回首页

如何数据库永久使用的DataTable添加一列,我希望这样的


 

   Projects.connection = new OleDbConnection(Projects.connectionstring);

            Projects.connection.Open();        

            Projects.da = new OleDbDataAdapter(Projects.cmdstring, Projects.connection);

            Projects.dt = new DataTable();

            Projects.da.Fill(Projects.dt);

            Projects.dt.Columns.Add("new column name");

            Projects.cmdb = new OleDbCommandBuilder(Projects.da);

 



                    Projects.dt.GetChanges();

 



 

                    if (Projects.dt.GetChanges() != null)

                    {

 

                        Projects.da.Update(Projects.dt);

                        Projects.connection.Close();

 

                    }

                    Projects.dt.AcceptChanges();

 





但不幸的是新列在数据库中添加,请别人帮助。

预先感谢

回答

评论会员:游客 时间:2012/02/06
Naerling:不幸的事情并不是这样。你将不得不使用imgsrc=])你将不得不作出正确插入数据库表中的列的查询。此代码是依赖于您使用的数据库类型。这传递给SqlCommand,连同一个Connection对象,并运行查询。可以肯定你只能做这一次虽然。每下一次您尝试运行命令异常将被抛出,该列已经存在。出于这个原因,它实际上是更好地列在设计时定义的,因为如果你真的不知道你是否有列,并非所有的代码,你写的应该有工作和无列。伪代码为您的问题:codeprelang="c#"spanclass="code-keyword"if/span!(CheckIfMyColumnExists){OleDbCommandcmd=spanclass="code-keyword"new/spanOleDbCommand(spanclass="code-string""/spanspanclass="code-string"altertableMyTableaddMyColumnint"/span,myConn);cmd.ExecuteNonQuery();}spanclass="code-comment"///spanspanclass="code-comment"Columnshouldexistatthispoint./span/pre/code
阿米尔Mahfoozi
评论会员:游客 时间:2012/02/06
尝试使用ADOX的{A}{A2}和工作的ADOXCSHARP:{A3的}]