public object GetTableNames(object[] parames) { ClientType ct = ClientType.ctMsSql; IDbConnection nwindConn = AllocateConnection(GetClientInfo(ClientInfoType.LoginDB).ToString(), ref ct, false); try { string strSql = ""; if (nwindConn is SqlConnection) { strSql = "select @@version as version"; InfoCommand cmd = new InfoCommand(ClientInfo); cmd.CommandText = strSql; cmd.Connection = nwindConn; Object o = cmd.ExecuteScalar(); if (o.ToString().ToLower().IndexOf("microsoft sql server 2005") >= 0) { strSql = @"select ( case when b.name != 'dbo' then case when (Charindex(' ',Rtrim(Ltrim(b.name)),0) > 0) then '[' + b.[name] + ']' else b.[name] end + '.' + case when (Charindex(' ',Rtrim(Ltrim(a.name)),0) != 0) then '[' + a.[name] + ']' else a.[name] end else case when (Charindex(' ',Rtrim(Ltrim(a.name)),0) != 0) then '[' + a.[name] + ']' else a.[name] end end )as name from sysobjects a,sys.schemas b where a.uid=b.schema_id and a.xtype in ('u','U','v','V') order by a.[name]"; } else { strSql = @"select( case when (Charindex(' ',Rtrim(Ltrim(name)),0) != 0) then '[' + [name] + ']' else [name] end ) as name from sysobjects where xtype in ('u','U','v','V') order by [name]"; } } else if (nwindConn is OdbcConnection) strSql = "select * from systables where (tabtype = 'T' or tabtype = 'V') and tabid >= 100 order by tabname"; else if (nwindConn is OracleConnection) { return new object[] { 0, GetTableNames(nwindConn.ConnectionString, nwindConn as DbConnection).ToArray() }; //strSql = "SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'TABLE' OR OBJECT_TYPE = 'VIEW'order by OBJECT_NAME"; } else if (nwindConn is OleDbConnection) strSql = "sp_help"; else if (nwindConn.GetType().Name == "MySqlConnection") strSql = "show tables;"; else if (nwindConn.GetType().Name == "IfxConnection") strSql = "select * from SYSTABLES where (TABTYPE = 'T' or TABTYPE = 'V') and TABID >= 100 order by TABNAME"; InfoCommand cmd2 = new InfoCommand(ClientInfo); if (nwindConn is OleDbConnection) cmd2.CommandType = CommandType.StoredProcedure; cmd2.CommandText = strSql; cmd2.Connection = nwindConn; IDataReader reader = cmd2.ExecuteReader(); List<String> tablesList = new List<string>(); while (reader.Read()) { if (nwindConn is SqlConnection) tablesList.Add(reader["name"].ToString()); else if (nwindConn is OdbcConnection) tablesList.Add(reader["tabname"].ToString()); else if (nwindConn is OracleConnection) tablesList.Add(reader["OBJECT_NAME"].ToString()); else if (nwindConn is OleDbConnection) tablesList.Add(reader["NAME"].ToString()); else if (nwindConn.GetType().Name == "MySqlConnection") tablesList.Add(reader[0].ToString()); else if (nwindConn.GetType().Name == "IfxConnection") tablesList.Add(reader["tabname"].ToString()); } reader.Close(); return new object[] { 0, tablesList.ToArray() }; } finally { ReleaseConnection(GetClientInfo(ClientInfoType.LoginDB).ToString(), nwindConn, false); } }
public object[] SavePersonalSettings(object[] objParam) { ClientType ct = ClientType.ctMsSql; IDbConnection conncetion = AllocateConnection(GetClientInfo(ClientInfoType.LoginDB).ToString(), ref ct, true); string formName = (string)objParam[0]; string compName = (string)objParam[1]; string userId = (string)objParam[2]; string remark = (string)objParam[3]; string propContent = (string)objParam[4]; string sql = string.Format("SELECT COUNT(*) FROM SYS_PERSONAL WHERE FORMNAME='{0}' AND COMPNAME='{1}' AND USERID='{2}'", formName, compName, userId); InfoCommand cmd = new InfoCommand(ClientInfo); cmd.Connection = conncetion; cmd.CommandText = sql; try { int count = (int)cmd.ExecuteScalar(); if (count > 0) { sql = string.Format("UPDATE SYS_PERSONAL SET REMARK='{0}',PROPCONTENT='{1}',CREATEDATE='{2}' WHERE FORMNAME='{3}' AND COMPNAME='{4}' AND USERID='{5}'", remark, propContent, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), formName, compName, userId); } else { sql = string.Format("INSERT INTO SYS_PERSONAL (FORMNAME,COMPNAME,USERID,REMARK,PROPCONTENT,CREATEDATE) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}')", formName, compName, userId, remark, propContent, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")); } cmd.CommandText = sql; cmd.ExecuteNonQuery(); return new object[] { 0 }; } catch (Exception e) { return new object[] { 1, e.Message }; } finally { ReleaseConnection(GetClientInfo(ClientInfoType.LoginDB).ToString(), conncetion, true); } }
private void btnOK_Click(object sender, EventArgs e) { string DBName = this.cmbDB.Text; string DBString = this.cmbDB.SelectedValue.ToString(); string DBType = ""; string itemType = ""; foreach (DataRow dr in table.Rows) { if (dr["DBName"].ToString() == DBName) { DBType = dr["DBType"].ToString(); break; } } IDbConnection connection = AllocateConnection(DBType, DBString); InfoCommand cmd = new InfoCommand(); string strSql = "select * from MENUITEMTYPE"; cmd.CommandText = strSql; cmd.Connection = connection; connection.Open(); IDataReader dreader = cmd.ExecuteReader(); bool bItemTypeExisted = false; while (dreader.Read()) { if (dreader["ITEMNAME"].ToString() == this.itemName) { bItemTypeExisted = true; itemType = dreader["ITEMTYPE"].ToString(); } } dreader.Close(); if (!bItemTypeExisted) { //Solution原本不存在,新建一个Solution strSql = "insert into MENUITEMTYPE (ITEMTYPE, ITEMNAME) values ('" + this.itemName + "', '" + this.itemName + "')"; cmd.CommandText = strSql; cmd.Connection = connection; cmd.ExecuteNonQuery(); itemType = this.itemName; } foreach (string menu in this.menuList) { strSql = "select count(*) from MENUTABLE where PACKAGE = '" + menu + "' and MODULETYPE = 'S' and ITEMTYPE = '" + itemType + "'"; cmd.CommandText = strSql; cmd.Connection = connection; int count = (int)cmd.ExecuteScalar(); if (count == 0) { strSql = "insert into MENUTABLE (MENUID, CAPTION, PACKAGE, MODULETYPE, ITEMTYPE) " + "values ('" + menu + "id', '" + menu + "', '" + menu + "', 'S', '" + itemType + "')"; cmd.CommandText = strSql; cmd.Connection = connection; cmd.ExecuteNonQuery(); } } this.Close(); }