如题,在开发的机器上没任何问题,但打包安装到客户的机器上,就出现问题了,但并不是所有的机器都会出问题?请高人指教!!

解决方案 »

  1.   

    下面是我的代码,createtl是创建表,createkey是创建主键,不知那出错了?using ADOX;
    public bool createtl(string tlname,string fromtlname,string prkey)
            {
                try
                {
                    using (OleDbConnection conn1 = new OleDbConnection(conn.connstr.connstring))
                    {
                        string strsql = "select * into " + tlname + " from  " + fromtlname;
                        conn1.Open();
                        OleDbCommand mycomm = new OleDbCommand(strsql, conn1);
                        mycomm.ExecuteNonQuery();
                        //string strssql2 = "Alter table " + tlname + " add primary key [xjh]";
                        //OleDbCommand mycomm2 = new OleDbCommand(strsql, conn1);
                        //mycomm2.ExecuteNonQuery(); 
                        createkey(tlname,prkey);
                        //if (!havexxdmincxtj(tlname))
                        //{
                        //    insetxxdm(tlname);
                        //}                }
                }
                catch (Exception e)
                {
                    //MessageBox.Show(e.Message.ToString());
                    return false;            }            return true;
            }
    private void createkey(string tlname,string prkey)
            {
                ADOX.Catalog catalog = new Catalog();
                ADODB.Connection cn = new ADODB.Connection();
                cn.Open(jlsxjgl09.conn.connstr.connstring, null, null, -1);
                catalog.ActiveConnection = cn;
                ADOX.Table mytl;
                mytl = catalog.Tables[tlname];
                mytl.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, prkey, "", "");            System.Runtime.InteropServices.Marshal.ReleaseComObject(mytl);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(catalog);
                mytl = null;
                catalog = null;        }