private void comboBoxDB_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                string  rstmsg  = "";
                IDbLink dal     = new DbLink();
                int     id      = 0;
                var     lisitem = comboBoxDB.SelectedItem as ListItem;
                id = string.IsNullOrEmpty(lisitem.ID) ? 0 : int.Parse(lisitem.ID);
                //id = comboBoxDB.SelectedValue.ToString() == "" ? 0 : int.Parse(comboBoxDB.SelectedValue.ToString());
                DbLinkInfo dlinfo = dal.DbLinkGetInfo(id);

                IDataBase    dbDal  = new CurrencyDal.CodeMaker.DataBase();
                DataBaseInfo dbinfo = dbDal.GetTableInfo(dlinfo, out rstmsg);
                comboBoxTable.DataSource = null;
                List <ListItem> list  = new List <ListItem>();
                TableInfo       model = new TableInfo();
                list.Add(new ListItem("请选择表", "请选择表"));
                foreach (TableInfo item in dbinfo.Tables)
                {
                    TableInfo modeltable = new TableInfo();
                    list.Add(new ListItem(item.xType, item.Name));
                }
                comboBoxTable.DataSource = list;
            }
            catch (Exception ex)
            {
                string msgerror = ex.Message;
            }
        }
Ejemplo n.º 2
0
        private DataBaseInfo GetDbInfo(int DbLinkId)
        {
            IDbLink    dal    = new DbLink();
            DbLinkInfo dlinfo = dal.DbLinkGetInfo(DbLinkId);

            IDataBase      dbDal         = new CurrencyDal.CodeMaker.DataBase();
            string         rstmsg        = "";
            string         tableName     = "";
            List <string>  tableNameList = new List <string>();
            DbDataTypeEnum dtype         = DbDataType.GetDbDataType(dinfo.NameType);

            if (dtype == DbDataTypeEnum.表)
            {
                tableName = dinfo.Name;

                //oracle数据库表名大写
                if (dlinfo.DbType == 2)
                {
                    tableName = tableName.ToUpper();
                }

                tableNameList.Add(tableName);
            }
            DataBaseInfo dbinfo = dbDal.DataBaseGetInfo(dlinfo, tableNameList, out rstmsg);

            return(dbinfo);
        }
Ejemplo n.º 3
0
        private DataBaseInfo GetDbInfo(int ID)
        {
            IDbLink    dal    = new DbLink();
            DbLinkInfo dlinfo = dal.DbLinkGetInfo(ID);

            IDataBase      dbDal         = new  CurrencyDal.CodeMaker.DataBase();
            string         rstmsg        = "";
            List <string>  tableNameList = new List <string>();
            string         tableName     = "";
            DbDataTypeEnum dtype         = DbDataType.GetDbDataType(dinfo.NameType);

            if (dtype == DbDataTypeEnum.表)
            {
                tableName = dinfo.Name;
                tableNameList.Add(tableName);
            }
            DataBaseInfo dbinfo = dbDal.DataBaseGetInfo(dlinfo, tableNameList, out rstmsg);

            //DataBaseInfo2 info = new DataBaseInfo2();

            //try
            //{
            //switch (dlinfo.DbType)
            //{

            //    case 1:
            //        System.Data.Common.DbConnection connSql = new System.Data.SqlClient.SqlConnection();
            //        connSql.ConnectionString = "Data Source=" + dlinfo.DataSource + ";Initial Catalog=" + dlinfo.DbName + ";User ID=" + dlinfo.UserName + ";Password="******"Data Source=" + dlinfo.DbName + ";User ID=" + dlinfo.UserName + ";Password="******"";
            //        info.GetOracleDb(connOracle);
            //        break;
            //    case 3:
            //        string ConnString = dlinfo.DataSource;
            //        info.LoadFromAccess2000(ConnString);
            //        break;

            //}
            //}
            //catch (Exception ex)
            //{
            //    MessageBox.Show("操作失败。" + ex.Message);
            //}

            return(dbinfo);
        }
        private DataBaseInfo GetDbInfo()
        {
            IDbLink    dal    = new DbLink();
            DbLinkInfo dlinfo = dal.DbLinkGetInfo(dinfo.DbLinkID);

            IDataBase     dbDal         = new CurrencyDal.CodeMaker.DataBase();
            string        rstmsg        = "";
            List <string> tableNameList = new List <string>();

            tableNameList.Add(dinfo.Name);
            DataBaseInfo dbinfo = dbDal.DataBaseGetInfo(dlinfo, tableNameList, out rstmsg);

            return(dbinfo);
        }
        private DataBaseInfo GetDbInfo()
        {
            IDbLink dal     = new DbLink();
            int     id      = 0;
            var     lisitem = comboBoxDB.SelectedItem as ListItem;

            id = string.IsNullOrEmpty(lisitem.ID) ? 0 : int.Parse(lisitem.ID);
            //id = comboBoxDB.SelectedValue.ToString() == "" ? 0 : int.Parse(comboBoxDB.SelectedValue.ToString());
            var dlinfo = dal.DbLinkGetInfo(id);

            IDataBase     dbDal         = new CurrencyDal.CodeMaker.DataBase();
            string        rstmsg        = "";
            List <string> tableNameList = new List <string>();
            string        tableName     = lb_DbMessage.Text;

            if (tableName.IndexOf(",") > 0)
            {
                string[] nameitem = tableName.Split(',').ToArray();
                if (listTable.Count > 0)
                {
                    listTable.Clear();
                }
                foreach (var item in nameitem)
                {
                    listTable.Add(item);
                    tableNameList.Add(item);
                }
            }
            else
            {
                if (listTable.Count > 0)
                {
                    listTable.Clear();
                }
                listTable.Add(tableName);
                tableNameList.Add(tableName);
            }


            DataBaseInfo dbinfo = dbDal.DataBaseGetInfo(dlinfo, tableNameList, out rstmsg);

            return(dbinfo);
        }
Ejemplo n.º 6
0
        private void btn_import_Click(object sender, EventArgs e)
        {
            //导入Excel表格时将列展开,如果列显示不全可能缺少某列
            int    rst    = 0;
            string rstmsg = "";

            //获取文件数据
            //rst = GetDataSet(out rstmsg);
            //if (rst != 1)
            //{
            //    MessageBox.Show(rstmsg);
            //    return;
            //}
            btnRefresh_Click(null, null);
            //导入文件数据
            if (ds == null)
            {
                MessageBox.Show("导入数据为空。");
                return;
            }
            if (ds == null || ds.Tables == null || ds.Tables.Count < 1 || ds.Tables[0].Rows.Count < 1)
            {
                MessageBox.Show("导入数据为空。");
                return;
            }

            CurrencyDal.CodeMaker.DataBase dal = new CurrencyDal.CodeMaker.DataBase();
            IDbLink dldal = new DbLink();


            DbLinkInfo dlinfo    = new DbLinkInfo();
            string     tableName = "";

            if (ckb_IsAddTable.Checked)
            {
                var lisitem  = comboBoxDB.SelectedItem as ListItem;
                int DbLinkID = string.IsNullOrEmpty(lisitem.ID) ? 0 : int.Parse(lisitem.ID);
                dlinfo         = dldal.DbLinkGetInfo(DbLinkID);
                tableName      = tb_AddTableName.Text.Trim();
                dinfo          = new DbDataInfo();
                dinfo.DbLinkID = DbLinkID;
                dinfo.DbName   = dlinfo.DbName;
                dinfo.Name     = tableName;
                dinfo.NameType = (int)DbDataTypeEnum.表;
            }
            else
            {
                dlinfo    = dldal.DbLinkGetInfo(dinfo.DbLinkID);
                tableName = dinfo.Name;
            }

            List <string> fieldlist = new List <string>();
            string        field     = tb_field.Text.Trim();

            field = field.Replace(" ", "");

            DataBaseInfo dbinfo = new DataBaseInfo();
            int          index  = tabControl1.SelectedIndex;
            DataTable    dt     = ds.Tables[index];

            #region 新建表
            if (ckb_IsAddTable.Checked && dt != null && dt.Rows.Count > 0)
            {
                string sqlmsg = "";
                CurrencyDal.CodeMaker.RunSql rdal = new CurrencyDal.CodeMaker.RunSql();
                field = "";
                StringBuilder sql = new StringBuilder();
                tableName = tb_AddTableName.Text.Trim();

                string  sqljc = "select 1 As Num from " + tableName;
                DataSet dsjs  = rdal.Run(dlinfo, sql.ToString(), out sqlmsg, out rstmsg);
                try
                {
                    if (dsjs != null && dsjs.Tables[0] != null)
                    {
                        MessageBox.Show("表" + tableName + "已存在。");
                        return;
                    }
                }
                catch { }


                sql.Append("Create Table ");
                sql.Append(tableName);
                sql.Append(" ( ");
                string createField = "";
                string fieldType   = "";
                if (dlinfo.DbType == 1)
                {
                    fieldType = "nvarchar";
                }
                else if (dlinfo.DbType == 2)
                {
                    fieldType = "nvarchar2";
                }
                else if (dlinfo.DbType == 3)
                {
                    fieldType = "nvarchar";
                }
                else
                {
                    fieldType = "nvarchar";
                }

                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    string cname = dt.Columns[i].ColumnName;
                    //sql.Append("[" + cname + "] [nvarchar](255) NULL,");

                    if (createField == "")
                    {
                        createField = cname + " " + fieldType + "(255) NULL";
                    }
                    else
                    {
                        createField += "," + cname + " " + fieldType + "(255) NULL";
                    }

                    if (field == "")
                    {
                        field = cname;
                    }
                    else
                    {
                        field += "," + cname;
                    }
                }
                sql.Append(createField);
                sql.Append(")");

                DataSet dset = rdal.Run(dlinfo, sql.ToString(), out sqlmsg, out rstmsg);
            }
            #endregion

            dbinfo = GetDbInfo(dinfo.DbLinkID);
            TableInfo tinfo = dbinfo.Tables[tableName];
            rst = dal.ImportData(dlinfo, tinfo, field, dt, out rstmsg);
            MessageBox.Show(rstmsg);
        }