DataSet ds;
            OpenFileDialog openFile = new OpenFileDialog();
            openFile.Multiselect = false;
            openFile.RestoreDirectory = true;
            openFile.Filter = "Text files (*.xls)|*.xls|All files (*.*)|*.*";            if (openFile.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = openFile.FileName;
                ds = ImportExcel(openFile.FileName);//获得Excel   
            }
            else
            {
                return;
            }            int odr = 0;            OracleConnection conn = new OracleConnection("Data Source=wzinner;Persist Security Info=True;User ID=common;password=common;Unicode=True");        //获得conn连接   
            try
            {
                conn.Open();
                //OracleCommand com = new OracleCommand(CommandText,conn);                //com.CommandText = "insert into em_transfers_t (transfers_id,transfers_OLDLANDNUM)values (:A,:B)";                string queryString = "insert into em_transferss_t (transfers_id,transfers_OLDLANDNUM) values (:A,:B)";
                OracleCommand com = new OracleCommand(queryString, conn);                int dsLength = ds.Tables[0].Rows.Count;// 获得Execle长度                for (int i = 0; i < dsLength; i++)
                {
                   com.Parameters.Add("A", OracleType.Int32).Value =ds.Tables[0].Rows[i][0];
                  
                   com.Parameters.Add("B", OracleType.VarChar).Value =ds.Tables[0].Rows[i][1];
                
                 
                    odr = com.ExecuteNonQuery();//提交   
                    
                }
                if (odr > 0)
                {
                    MessageBox.Show("成功!");
                }
                conn.Close();
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                conn.Close();
            }
像各位所看见的,当我把Execle数据上传成功以后  就把临时表em_transferss_t的em_transferss_t.OLDLANDNUM 数据根据house_id来更新到em_house_t表的em_house_t.OLDLANDNUM  列,  更新成功以后 在把临时表em_transferss_t的数据全部删除. 求助高手  下面的代码是别人告诉我的 不知可行  我不能轻易去试  改会很麻烦``  也没有清除临时表数据的代码``` 谢谢 各位大虾```  SOS```               if (odr > 0)
                {
                    MessageBox.Show("成功!");                    update em_house_t
                 set em_house_t.OLDLANDNUM=em_transferss_t.OLDLANDNUM
                  from Temp where em_house_t.house_id !=transferss.house_id
                }

解决方案 »

  1.   

    delete from  em_transferss_t 
    删除表数据```` 哈哈``` 小样  我也太菜了```
      

  2.   


                    if (odr > 0)
                    {
                        MessageBox.Show("成功!");
                        if (MessageBox.Show("确认要更新吗??", "", MessageBoxButtons.OKCancel) != DialogResult.OK)
                        {
                            int co=0;
                            string sql = "delete from em_transferss_t";
                            OracleCommand comm = new OracleCommand(sql, conn);
                            co=comm.ExecuteNonQuery();
                            if (co > 0)
                            {
                                MessageBox.Show("数据未上传");
                            }
                        }加了这代码就不行了  为什么?
      

  3.   

        if (odr > 0)
                    {
                        MessageBox.Show("成功!");
                        if (MessageBox.Show("确认要更新吗??", "", MessageBoxButtons.OKCancel) != DialogResult.OK)
                        {
                            int co=0;
                            string sql = "delete from em_transferss_t";
                            OracleCommand comm = new OracleCommand(sql, conn);
                            co=comm.ExecuteNonQuery();
                            if (co > 0)
                            {
                                MessageBox.Show("数据未上传");
                            }
                        }
                    }
                    conn.Close();
                }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    conn.Close();
                }
        没有关啊  前面有个conn.open   conn.clos 在后面啊  
      

  4.   

    哪报错?另外你的
    co=comm.ExecuteNonQuery();
    co是int,你觉得这俩能=吗?
    object obj=xxx
    不过你这判断本身就有问题
      

  5.   

     co=comm.ExecuteNonQuery(); 运行这句就报错啦
    可以=的啊 只是返回受影响的行数啊 
    上面也用了一次 都可以的啊  co  定义了的  int  co =0;
      

  6.   

    sorry,看错了,你那表里有多少数据?
      

  7.   

    你能不能把代码整理整理放在code=C#][/code 里
    刚才想调试下,一堆的{}差点没晕死
      

  8.   

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.OracleClient;
    using System.Data.OleDb;
    using System.Data.Odbc;
    using System.IO;
    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();        }        public static DataSet ImportExcel(string file)
            {
                System.IO.FileInfo fileInfo = new FileInfo(file);
                if (!fileInfo.Exists)
                    return null;            string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
                OleDbConnection objConn = new OleDbConnection(strConn);
                DataSet dsExcel = new DataSet();
                try
                {
                    objConn.Open();
                    string strSql = "select * from  [Sheet3$]";
                    OleDbDataAdapter odbcExcelDataAdapter = new OleDbDataAdapter(strSql, objConn);
                    odbcExcelDataAdapter.Fill(dsExcel);
                    return dsExcel;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    objConn.Close();
                }
            }
            private void button4_Click(object sender, EventArgs e)
            {
                DataSet ds;
                OpenFileDialog openFile = new OpenFileDialog();
                openFile.Multiselect = false;
                openFile.RestoreDirectory = true;
                openFile.Filter = "Text files (*.xls)|*.xls|All files (*.*)|*.*";            if (openFile.ShowDialog() == DialogResult.OK)
                {
                    textBox1.Text = openFile.FileName;
                    ds = ImportExcel(openFile.FileName);//获得Excel   
                }
                else
                {
                    return;
                }            int odr = 0;            OracleConnection conn = new OracleConnection("Data Source=wzinner;Persist Security Info=True;User ID=common;password=common;Unicode=True");        //获得conn连接   
                try
                {
                    conn.Open();
                    //OracleCommand com = new OracleCommand(CommandText,conn);                //com.CommandText = "insert into em_transfers_t (transfers_id,transfers_OLDLANDNUM)values (:A,:B)";                string queryString = "insert into em_transferss_t (transfers_id,transfers_OLDLANDNUM) values (:A,:B)";
                    OracleCommand com = new OracleCommand(queryString, conn);                int dsLength = ds.Tables[0].Rows.Count;// 获得Execle长度                for (int i = 0; i < dsLength; i++)
                    {
                       com.Parameters.Add("A", OracleType.Int32).Value =ds.Tables[0].Rows[i][0];
                      
                       com.Parameters.Add("B", OracleType.VarChar).Value =ds.Tables[0].Rows[i][1];
                    
                     
                        odr = com.ExecuteNonQuery();//提交   
                        
                    }
                    if (odr > 0)
                    {
                        MessageBox.Show("成功!");
                        if (MessageBox.Show("确认要更新吗??", "", MessageBoxButtons.OKCancel) != DialogResult.OK)
                        {
                            int co=0;
                            string sql = "delete from em_transferss_t";
                            OracleCommand comm = new OracleCommand(sql, conn);
                            co=comm.ExecuteNonQuery();
                            if (co > 0)
                            {
                                MessageBox.Show("数据未上传");
                            }
                        }
                    }
                   
                }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    conn.Close();
                }
            }    }
    }
      

  9.   

    没看出问题
    co=comm.ExecuteNonQuery();
                            if (co > 0)
                            {
                                MessageBox.Show("数据未上传");
                            }
    co>0应该是有数据上传吧?
    if (odr > 0) 这断点odr=? 一直F10往下走没有异常抛出来吗?
      

  10.   

    odr =N  N 就看你Execle有多少条数据了``  不会报错啊  我以前一直这样的啊`` 后面那是删除数据`` 数据都删除了 当然是未上传了```
      

  11.   

    co=comm.ExecuteNonQuery(); 你这条返回的是删除的行数 如果有数据上传才会在你的临时表里写数据,删除时co才会>0 当然就是有数据被上传了....
    我没看出其他哪有问题,你再断点试试吧
      

  12.   

    是数据上传成功以后在决定时候删除的
        if (odr > 0)
                    {
                        MessageBox.Show("成功!");
                        if (MessageBox.Show("确认要更新吗??", "", MessageBoxButtons.OKCancel) != DialogResult.OK)
                        {
                            int co=0;
                            string sql = "delete from em_transferss_t";
                            OracleCommand comm = new OracleCommand(sql, conn);
                            co=comm.ExecuteNonQuery();
                            if (co > 0)
                            {
                                MessageBox.Show("数据未上传");
                            }成功以后才会出提示好吧  我再自己找找  谢谢了哈`
    期待高手````
      

  13.   

    using(OracleCommand comm = new OracleCommand(sql, conn))
    {}
    数据库操作类
    petshop 中就有oracle操作的
      

  14.   

      报错哦 , 下面那个大括号  comm  打不出来了,当前上下文不存在comm  上面就是空语句```