您的位置:程序门 -> .net技术 -> c#



vs2005中c#里我插入的数据为什么没有保存到数据库里了,


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vs2005中c#里我插入的数据为什么没有保存到数据库里了,
发表于:2007-02-09 19:15:52 楼主
vs2005中c#里我插入的数据为什么没有保存到数据库里了,源码:
第一种方法:
private   void   button1_click(object   sender,   eventargs   e)
this.dbtableadapter.insert(this.textbox1.text,this.textbox2.text,this.textbox3.text,textbox4.text);
                      this.dbtableadapter.fill(this.db1dataset.db);
                      this.dbtableadapter.update(this.textbox1.text,   this.textbox2.text,   this.textbox3.text,   textbox4.text,   textbox5.text);
第二种方法:
  string   strcon   =   "   provider   =   microsoft.jet.oledb.4.0   ;   data   source   =   db1.mdb   ";
                        oledbconnection   myconn   =   new   oledbconnection   (   strcon   )   ;
                          myconn.open   (   )   ;
                        string   conn_string= "insert   into   db(id,name,score,num,numf)     values( ' "+textbox1.text+ " ', ' "+textbox2.text+ " ', ' "+textbox3.text+ " ', ' "+textbox4.text+ " ', ' "+textbox5.text+ " ') ";
                        oledbcommand   add_comm   =   new   oledbcommand(conn_string,   myconn);
                        add_comm.EXECutenonquery();
                        this.dbtableadapter1.update(this.db1dataset.db);

为什么最终没有保存数据库进去,也就是表面看插入了,没有真正插进去,两种方法都没有用,你们看我该如何做啊?????????错在哪????
发表于:2007-02-09 20:33:411楼 得分:0
使用   this.sqlcmdbld   =   new   sqlcommandbuilder(da);       来自动创建sql
发表于:2007-02-09 21:23:102楼 得分:0
你得这两种方法都比较乱,你思路不对
EXECutenonquery()         执行一条sql语句
oracleconnection   cn   =   new   oracleconnection( "connectionstring ");
                oraclecommand   cmd   =   new   oraclecommand();
                cmd.connection   =   cn;
                cn.open();
                cmd.commandtext   =   "update   ................. ";// "insert   into   ................. "
        int   effect   =   cmd.EXECutenonquery();//执行一条sql语句
        cn.close()

这里oracleconnection等可以换成你需要得
发表于:2007-02-09 21:26:513楼 得分:0
还有个dataset.acceptchange()
发表于:2007-02-09 22:27:504楼 得分:0
1.open前加个try   ...catch   看有没有错误。

2.加个dbtableadapter1.insertcommand   =   add_comm;   试试。
发表于:2007-02-10 07:44:095楼 得分:0
up
发表于:2007-02-12 16:29:086楼 得分:0
lz在没有报错?    
我随便写了一个...
public   partial   class   default2   :   system.web.ui.page
{
        protected   oledbconnection   conn   =   new   oledbconnection( "provider=sqloledb;database=projectmanagement;uid=projectmanagement;pwd=projectmanagement; ");
        protected   dataset   dataset   =   new   dataset();
        protected   void   page_load(object   sender,   eventargs   e)
        {
                string   sqlstr;
                sqlstr   =   "insert   into   company(name,timecreated)   values   ( 'ibm ', '2007-01-02 ') ";
                conn.open();
                oledbcommand   comm   =   new   oledbcommand(sqlstr,conn);
                comm.EXECutenonquery();


快速检索

最新资讯
热门点击