我的数据库中没这个表
我是想在这个数据库中添加新表,但是不使用SQL语句

解决方案 »

  1.   

    如果有这个表:
    ...//your code
    OleDbCommand insCommand = new OleDbCommand(null,conn);
    insCommand.CommandText = //"your sql command" or "procname";
    insCommand.Parameters.Add("@Title",OldDbType.VarChar);
    insCommand.Parameters.Add("@Text",OldDbType.VarChar);
    insCommand.Patameters["@Title"].SourceColumn = "主题";
    insCommand.Patameters["@Text"].SourceColumn = "内容";ds.InsertCommand = insCommand;
    ds.Update(dt,"MyTable");如果没有这个表,最好直接用OleDbCommand创建
      

  2.   

    先谢谢timmy3310,等你解决我的问题后,一定给分1.你的代码怎么没用到OleDbAdapter,没有跟conn关联起来,不行的。
    2.还有不是说ADO.NET不需要数据库都支持SQL语法吗,如果这样的话,根本就不需要写SQL语句CREATE TABLE就可以创建表的(不同的数据库SQL语句都不尽相同,比如写给用于ACCESS的SQL就不能用于SQL Server,那么我们为什么要用SQL呢,搞得乱乱的)。
    3.能不能就在我上面的代码中修改?
      

  3.   

    1、OleDataAdapter是不用和数据库关联的,关键是它的Command要和数据库关联,它有三个Command:UpdateCommand、InsertCommand和DeleteCommand,分别对应DataSet的更新、插入和删除操作,如果新增操作没有指定InsertCommand(也就是没有给OleDataAdapter的InsertCommand实例化),那么DataSet的插入操作不会更新到数据库。关于连接,只需要在new OleDataAdapter的时候给一个就行了,OleDataAdapter会自动Open和Close以及进行事务处理。
    2、我一直用SQL Server的,还没试过不写SQL语句,不敢回答你。
    3、我是接着你的代码写下来的啊,就是简化了一点点