public DataSet Query(string SQLString, params AseParameter[] cmdParms) { DataSet set2; using (AseConnection connection = new AseConnection(this.connectionString)) { AseCommand cmd = new AseCommand(); this.PrepareCommand(cmd, connection, null, SQLString, cmdParms); using (AseDataAdapter adapter = new AseDataAdapter(cmd)) { DataSet dataSet = new DataSet(); try { adapter.Fill(dataSet, "ds"); cmd.Parameters.Clear(); } catch (Exception exception1) { throw new Exception(exception1.Message); } set2 = dataSet; } } return(set2); }
private DataTable RetornarDataTableQuery(string query, string strConn, List <AseParameter> parameters = null) { _log.TraceMethodStart(); _log.Trace($"Query gerada: {query}"); DataTable data = new DataTable(); AseConnection connection = new AseConnection(strConn); AseDataAdapter da = new AseDataAdapter(query, connection); if (parameters != null) { da.SelectCommand.Parameters.AddRange(parameters.ToArray()); } try { connection.Open(); da.Fill(data); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } } _log.TraceMethodEnd(); return(data); }
public override DataTable ExecuteQuery(string cmdText, DBHelperParmCollection parameters) { DataTable dtRet = new DataTable(); AseCommand _AseCommand = (AseCommand)CreateCommand(cmdText, CommandType.Text); _AseCommand.Parameters.Clear(); if (parameters != null) { foreach (DBHelperParm para in parameters) { _AseCommand.Parameters.Add(new AseParameter(para.Key, EncodingHelper.Default2DB(para.Value, _DBEncodeing))); } } AseDataAdapter _OdbcDataAdapter = new AseDataAdapter(_AseCommand); try { ProcessDataTable(dtRet); _OdbcDataAdapter.Fill(dtRet); } catch (Exception ex) { throw ex; } return(dtRet); }
/// <summary> /// /// </summary> /// <param name="query"></param> /// <param name="commandType"></param> /// <param name="closeConnection"></param> /// <returns></returns> public List <RespObj> ExecuteReader(string query, CommandType commandType = CommandType.Text, bool closeConnection = true) { comm.CommandText = query.ToString(); comm.CommandType = commandType; DataTable resultTable = new DataTable(); try { if (_conn.State != ConnectionState.Open) { _conn.Open(); } AseDataAdapter Adapter = new AseDataAdapter(comm); Adapter.Fill(resultTable); List <RespObj> ReturnObject = _util.convertDataTable <RespObj>(resultTable); return(ReturnObject); } catch (Exception ex) { throw; } finally { comm = new AseCommand(); if (closeConnection) { comm.Dispose(); if (_conn.State != ConnectionState.Closed) { _conn.Close(); } } } }
/// <summary> /// 更新DataTable的方式插入数据 /// </summary> /// <param name="_dt">DataTable</param> /// <returns>插入记录条数</returns> public override int DataTableInsert(DataTable _dt) { bool flag = false; int _nResult = 0; if (_dt == null) return _nResult; string _sCmdText = string.Format("select * from {0} where 1=2", _dt.TableName); AseCommand _Command = (AseCommand)CreateCommand(_sCmdText, CommandType.Text); AseDataAdapter _adapter = new AseDataAdapter(_Command); AseDataAdapter _adapter1 = new AseDataAdapter(_Command); AseCommandBuilder _builder = new AseCommandBuilder(_adapter1); _adapter.InsertCommand = _builder.GetInsertCommand(); if (_adapter.InsertCommand.Parameters.Count < _dt.Columns.Count) { flag = true;//因为表中有自增字段,所以CommandBuild生成的InserttCommand的参数中少了自增字段 foreach (DataColumn _dc in _dt.Columns) { if (!_adapter.InsertCommand.Parameters.Contains(_dc.ColumnName)) { _adapter.InsertCommand.CommandText = _adapter.InsertCommand.CommandText.Insert(_adapter.InsertCommand.CommandText.IndexOf(") VALUES"), ',' + _dc.ColumnName); _adapter.InsertCommand.CommandText = _adapter.InsertCommand.CommandText.Insert(_adapter.InsertCommand.CommandText.Length - 1, ",@" + _dc.ColumnName); _adapter.InsertCommand.Parameters.Add("@" + _dc.ColumnName, AseDbType.Decimal, _dc.MaxLength, _dc.ColumnName); if (_adapter.InsertCommand.Parameters.Count >= _dt.Columns.Count) break; } } } if (flag) this.ExecuteNoQuery(string.Format("SET IDENTITY_INSERT {0} on", _dt.TableName)); this.BeginTransaction(); try { _Command.CommandText = "delete from " + _dt.TableName; _Command.ExecuteNonQuery(); _adapter.InsertCommand.Transaction = _Command.Transaction; _nResult = _adapter.Update(_dt); this.CommitTransaction(); } catch (Exception ex) { this.RollbackTransaction(); throw ex; } finally { if (flag) this.ExecuteNoQuery(string.Format("SET IDENTITY_INSERT {0} OFF", _dt.TableName)); } return _nResult; }
/// <summary> /// 创建适配器 /// </summary> /// <param name="cmd">数据库命令</param> /// <returns></returns> public override IDbDataAdapter GetAdapter(IDbCommand cmd) { AseDataAdapter adapter = new AseDataAdapter((AseCommand)cmd); AseCommandBuilder cb = new AseCommandBuilder(adapter); adapter.CommandBuilder = cb; return(adapter); }
public DataTable GetJobDetail(string sqlCommand, string tableName) { DataTable dt = new DataTable(tableName); var cmd = new AseCommand(sqlCommand, _aseConnection); var ada = new AseDataAdapter(cmd); ada.Fill(dt); return(dt); }
protected override IDbDataAdapter CreateAdapter(string cmdText) { if (_IDbDataAdapter == null) { _IDbDataAdapter = new AseDataAdapter(); } _IDbDataAdapter.SelectCommand = CreateCommand(cmdText, CommandType.Text); return(_IDbDataAdapter); }
public void AseAdapter_WithAseCommandBuilder_CanInsertUpdateAndDelete() { using (var connnection = new AseConnection(ConnectionStrings.Default)) { connnection.Open(); using (var adapter = new AseDataAdapter("SELECT ColumnId, ColumnDescription, ColumnNullable, COALESCE(ColumnNullable, 'Foo') AS ColumnCalculated FROM AseDataAdapterTests_Table1", connnection)) { using (new AseCommandBuilder(adapter)) { var original = new DataTable("AseDataAdapterTests_Table1"); adapter.FillSchema(original, SchemaType.Mapped); adapter.Fill(original); Assert.AreEqual(5, original.Rows.Count); // SELECT var updateRow = original.Rows.Find(1); Assert.IsNotNull(updateRow, "Did not find a row in AseDataAdapterTests_Table1 for update with ColumnId=1"); updateRow["ColumnDescription"] = "an updated value"; // UPDATE var deleteRow = original.Rows.Find(3); Assert.IsNotNull(deleteRow, "Did not find a row in AseDataAdapterTests_Table1 for delete with ColumnId=3"); deleteRow.Delete(); // DELETE original.Rows.Add(-1, "an inserted value"); // INSERT // Commit the changes to the database. adapter.Update(original); original.AcceptChanges(); var fresh = new DataTable("AseDataAdapterTests_Table1"); adapter.FillSchema(fresh, SchemaType.Mapped); adapter.Fill(fresh); Assert.AreEqual(5, fresh.Rows.Count); // SELECT updateRow = fresh.Rows.Find(1); Assert.IsNotNull(updateRow, "Did not find a row in AseDataAdapterTests_Table1 for update with ColumnId=1"); Assert.AreEqual(updateRow["ColumnDescription"], "an updated value"); deleteRow = fresh.Rows.Find(3); Assert.IsNull(deleteRow); var insertRow = fresh.Rows.Find(6); // Next identity value. Assert.IsNotNull(insertRow); } } } }
private static int GenerateTableBinary(string tableName, string fileName, string connectionString) { int iRet = 0; string sConn = ""; if (connectionString.Length < 3) { sConn = "Data Source = hkgdcussyb010; Port = 4105; Database = db_policy; Uid = huat059; Pwd = K5hlYMI%; charset = cp850"; } else { sConn = connectionString; } try { AseConnection cn = new AseConnection(sConn); AseCommand cmd = new AseCommand(); cmd.Connection = cn; AseDataAdapter da = new AseDataAdapter(cmd); string sPureTableName = ""; if (tableName.ToLower().StartsWith("select")) { cmd.CommandText = "select count(1) from (" + tableName + ") a"; sPureTableName = "return_data"; } else { cmd.CommandText = "select * from " + tableName; sPureTableName = getTableName(tableName); } DataTable dt = new DataTable(sPureTableName); da.Fill(dt); iRet = dt.Rows.Count; //string sFullTableName = getFullTableName(tableName); //Boolean isOK = SerializeDataTable(dt, fileName); DataSetSerializerCompression(dt, fileName); //dt.WriteXml(System.IO.Path.Combine(dir, sPureTableName + ".table"), XmlWriteMode.WriteSchema); //Console.WriteLine("Save to: " + tableName + ".table,RowCount = " + iRet.ToString()); } catch (System.Exception ex) { Console.WriteLine(ex.Message); } return(iRet); }
protected void ExecuteQuery(string sql, GridView users) { var connStr = ConfigurationManager.ConnectionStrings["SybaseLocalConnection"].ToString(); using (AseConnection connnection = new AseConnection(connStr)) { using (AseCommand cmd = connnection.CreateCommand()) { cmd.CommandText = sql; AseDataAdapter da = new AseDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); users.DataSource = ds; users.DataBind(); } } }
private List<DtcConfirms> GetConfirmsFromSybase(DateTime tradeDate) { DataTable data = new DataTable(); List<DtcConfirms> lstConfirms = new List<DtcConfirms>(); using (AseConnection oCon = new AseConnection("Data Source=mcmqavip;port=4105;Database=MCM;Uid=idsi;Pwd=3idsi3;")) { using (AseCommand oCom = new AseCommand(Constants.InsertConfirms, oCon) { CommandType = CommandType.Text }) { AseParameter paramDate = new AseParameter(Constants.TradeDateParamPortia, AseDbType.DateTime); paramDate.Value = tradeDate; oCom.Parameters.Add(paramDate); oCon.Open(); try { AseDataAdapter adapter = new AseDataAdapter(oCom); adapter.Fill(data); foreach (DataRow row in data.Rows) { var values = row.ItemArray; lstConfirms.Add(new DtcConfirms( values[0].ToString(), values[1].ToString(), values[2].ToString(), values[3].ToString(), values[4].ToString(), values[5].ToString(), values[6].ToString(), values[7].ToString(), values[8].ToString(), values[9].ToString(), values[10].ToString(), values[11].ToString(), values[12].ToString(), values[13].ToString(), values[14].ToString(), values[15].ToString(), values[16].ToString(), values[17].ToString(), values[18].ToString(), values[19].ToString(), values[20].ToString() )); } } catch (Exception ex) { } oCon.Close(); } } return lstConfirms; }
public DataTable GetReaderInfo(DataModel.M_Config config) { AseConnection conn = new AseConnection(config.SybaseSourceSetting.ToConnectionString()); string cmdstr = config.SQLString; DataSet ds = new DataSet(); try { AseDataAdapter adapter = new AseDataAdapter(cmdstr, conn); adapter.Fill(ds); return(ds.Tables[0]); } catch (Exception ex) { throw ex; } finally { conn.Close(); } }
public override DbDataAdapter CreateDataAdapter(IDbCommand selectCommand, IDbCommand insertCommand, IDbCommand deleteCommand, IDbCommand updateCommand) { AseDataAdapter adapter = new AseDataAdapter(); if (selectCommand != null) { adapter.SelectCommand = selectCommand as AseCommand; } if (insertCommand != null) { adapter.InsertCommand = insertCommand as AseCommand; } if (deleteCommand != null) { adapter.DeleteCommand = deleteCommand as AseCommand; } if (updateCommand != null) { adapter.UpdateCommand = updateCommand as AseCommand; } return(adapter); }
public void AseAdapter_WithAseCommandBuilder_HasInsertUpdateDeleteCommands() { using (var connnection = new AseConnection(ConnectionStrings.Default)) { connnection.Open(); using (var adapter = new AseDataAdapter("SELECT ColumnId, ColumnDescription FROM AseDataAdapterTests_Table1", connnection)) { using (var builder = new AseCommandBuilder(adapter)) { // Check that the AseCommandBuilder is initialised. var insertCommand = builder.GetInsertCommand(); Assert.IsNotNull(insertCommand); StringAssert.Contains("INSERT", insertCommand.CommandText); var updateCommand = builder.GetUpdateCommand(); Assert.IsNotNull(updateCommand); StringAssert.Contains("UPDATE", updateCommand.CommandText); var deleteCommand = builder.GetDeleteCommand(); Assert.IsNotNull(deleteCommand); StringAssert.Contains("DELETE", deleteCommand.CommandText); // Check that the AseDataAdapter is initialised. Assert.IsNotNull(adapter.InsertCommand); StringAssert.Contains("INSERT", adapter.InsertCommand.CommandText); Assert.IsNotNull(adapter.UpdateCommand); StringAssert.Contains("UPDATE", adapter.UpdateCommand.CommandText); Assert.IsNotNull(adapter.DeleteCommand); StringAssert.Contains("DELETE", adapter.DeleteCommand.CommandText); } } } }
private void DisplayDataForQuery() { dataGridView1.DataSource = null; if (queryBuilder.MetadataProvider != null && queryBuilder.MetadataProvider.Connected) { if (queryBuilder.MetadataProvider is OLEDBMetadataProvider) { OleDbCommand command = (OleDbCommand)queryBuilder.MetadataProvider.Connection.CreateCommand(); command.CommandText = queryBuilder.SQL; // handle the query parameters if (queryBuilder.Parameters.Count > 0) { for (int i = 0; i < queryBuilder.Parameters.Count; i++) { if (!command.Parameters.Contains(queryBuilder.Parameters[i].FullName)) { OleDbParameter parameter = new OleDbParameter(); parameter.ParameterName = queryBuilder.Parameters[i].FullName; parameter.DbType = queryBuilder.Parameters[i].DataType; command.Parameters.Add(parameter); } } using (QueryParametersForm qpf = new QueryParametersForm(command)) { qpf.ShowDialog(); } } OleDbDataAdapter adapter = new OleDbDataAdapter(command); DataSet dataset = new DataSet(); try { adapter.Fill(dataset, "QueryResult"); dataGridView1.DataSource = dataset.Tables["QueryResult"]; } catch (Exception ex) { MessageBox.Show(ex.Message, "SQL query error"); } }//end ole schemaRoot if (queryBuilder.MetadataProvider is ODBCMetadataProvider) { OdbcCommand command = (OdbcCommand)queryBuilder.MetadataProvider.Connection.CreateCommand(); command.CommandText = queryBuilder.SQL; // handle the query parameters if (queryBuilder.Parameters.Count > 0) { for (int i = 0; i < queryBuilder.Parameters.Count; i++) { if (!command.Parameters.Contains(queryBuilder.Parameters[i].FullName)) { OdbcParameter parameter = new OdbcParameter(); parameter.ParameterName = queryBuilder.Parameters[i].FullName; parameter.DbType = queryBuilder.Parameters[i].DataType; command.Parameters.Add(parameter); } } using (QueryParametersForm qpf = new QueryParametersForm(command)) { qpf.ShowDialog(); } } OdbcDataAdapter adapter = new OdbcDataAdapter(command); DataSet dataset = new DataSet(); try { adapter.Fill(dataset, "QueryResult"); dataGridView1.DataSource = dataset.Tables["QueryResult"]; } catch (Exception ex) { MessageBox.Show(ex.Message, "SQL query error"); } }//end odbc if (queryBuilder.MetadataProvider is UniversalMetadataProvider) { if (this.DatabasePlatform == QueryBuilderDatabasePlatform.Sybase) { AseCommand command = (AseCommand)queryBuilder.MetadataProvider.Connection.CreateCommand(); command.CommandText = queryBuilder.SQL; // handle the query parameters if (queryBuilder.Parameters.Count > 0) { for (int i = 0; i < queryBuilder.Parameters.Count; i++) { if (!command.Parameters.Contains(queryBuilder.Parameters[i].FullName)) { AseParameter parameter = new AseParameter(); parameter.ParameterName = queryBuilder.Parameters[i].FullName; parameter.DbType = queryBuilder.Parameters[i].DataType; command.Parameters.Add(parameter); } } using (QueryParametersForm qpf = new QueryParametersForm(command)) { qpf.ShowDialog(); } } AseDataAdapter adapter = new AseDataAdapter(command); DataSet dataset = new DataSet(); try { adapter.Fill(dataset, "QueryResult"); dataGridView1.DataSource = dataset.Tables["QueryResult"]; } catch (Exception ex) { MessageBox.Show(ex.Message, "SQL query error"); } } //end sybase } //end universal metadata provider } //end check if connected } //end method
static int Main(string[] args) { int Result = -1, tmpInt; decimal tmpDecimal; object tmpObject; StreamWriter fstr_out = null; string tmpString, OutputFileName = "log.log"; #if WITH_TRACE string TraceFileName = "trace.log"; #endif AseConnection conn = null; AseCommand cmd = null; AseTransaction Transaction = null; AseDataReader reader = null; AseParameter Parameter = null; AseDataAdapter da = null; DataTable tmpDataTable = null; try { try { fstr_out = new StreamWriter(OutputFileName, false, System.Text.Encoding.GetEncoding(1251)); fstr_out.AutoFlush = true; #if WITH_REFLECTION Assembly[] asms = AppDomain.CurrentDomain.GetAssemblies(); Assembly asm = null; foreach (Assembly a in asms) { if (a.FullName.ToLower().IndexOf("sybase.data.aseclient") > -1) { asm = a; } fstr_out.WriteLine("Assembly.CodeBase: " + a.CodeBase); fstr_out.WriteLine("Assembly.EscapedCodeBase: " + a.EscapedCodeBase); fstr_out.WriteLine("Assembly.FullName: " + a.FullName); fstr_out.WriteLine("Assembly.GlobalAssemblyCache: " + a.GlobalAssemblyCache.ToString().ToLower()); fstr_out.WriteLine("Assembly.ImageRuntimeVersion: " + a.ImageRuntimeVersion); fstr_out.WriteLine("Assembly.Location: " + a.Location); fstr_out.WriteLine(); } if (asm != null) { Type[] alltypes = asm.GetTypes(); for (tmpInt = 0; tmpInt < alltypes.Length; ++tmpInt) { fstr_out.WriteLine("Обнаружено: " + alltypes[tmpInt].Name); if (alltypes[tmpInt].Name.CompareTo("AseConnection") == 0) { Type t = alltypes[tmpInt]; FieldInfo[] fi = t.GetFields(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); fstr_out.WriteLine("Анализ Field, определенных в " + t.Name); foreach (FieldInfo f in fi) { fstr_out.Write(" " + f.Name); fstr_out.WriteLine(); } fstr_out.WriteLine(); PropertyInfo[] //pi_=t.GetProperties(BindingFlags.Instance|BindingFlags.NonPublic|BindingFlags.Static); // AseConnection.Language pi_ = t.GetProperties(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); fstr_out.WriteLine("Анализ Property, определенных в " + t.Name); foreach (PropertyInfo p_ in pi_) { fstr_out.Write(" " + p_.Name); fstr_out.WriteLine(); } fstr_out.WriteLine(); fstr_out.WriteLine("Поддерживаемые методы:"); ParameterInfo[] pi; MethodInfo[] mi; //mi=t.GetMethods(); mi = t.GetMethods(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public); foreach (MethodInfo m in mi) { fstr_out.Write(" " + m.ReturnType.Name + " " + m.Name + "("); pi = m.GetParameters(); for (int i = 0; i < pi.Length; ++i) { fstr_out.Write(pi[i].ParameterType.Name + " " + pi[i].Name); if (i + 1 < pi.Length) { fstr_out.Write(", "); } } fstr_out.WriteLine(")"); } fstr_out.WriteLine(); } } fstr_out.WriteLine(); } #endif #if WITH_TRACE _strmWriter = new StreamWriter(TraceFileName, false, System.Text.Encoding.GetEncoding(1251)); _strmWriter.AutoFlush = true; #endif if ((tmpString = ConfigurationSettings.AppSettings["connectionString"]) == null || tmpString == string.Empty) { fstr_out.WriteLine("ConfigurationSettings.AppSettings[\"connectionString\"] is empty!!!"); return(Result); } conn = new AseConnection(tmpString); conn.InfoMessage += new AseInfoMessageEventHandler(conn_InfoMessage); conn.StateChange += new System.Data.StateChangeEventHandler(conn_StateChange); #if WITH_TRACE conn.TraceEnter += new TraceEnterEventHandler(conn_TraceEnter); conn.TraceExit += new TraceExitEventHandler(conn_TraceExit); #endif conn.Open(); fstr_out.WriteLine("AseConnection.ConnectionString: " + conn.ConnectionString); fstr_out.WriteLine("AseConnection.ConnectionTimeout: " + conn.ConnectionTimeout); fstr_out.WriteLine("AseConnection.Database: " + conn.Database); fstr_out.WriteLine("AseConnection.NamedParameters: " + conn.NamedParameters.ToString().ToLower()); fstr_out.WriteLine("AseConnection.State: " + conn.State); fstr_out.WriteLine("AseConnection.DriverVersion: " + AseConnection.DriverVersion); //fstr_out.WriteLine("AseConnection.Language: "+AseConnection.Language); fstr_out.WriteLine(); cmd = conn.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = "select @@spid"; if ((tmpObject = cmd.ExecuteScalar()) != null) { tmpString = Convert.ToString(tmpObject); } #if TEST_CHARSET cmd.CommandText = "select cast(val as date) from T4 where GroupId=4 and Id=1"; if (da == null) { da = new AseDataAdapter(cmd); } else { da.SelectCommand = cmd; } if (tmpDataTable == null) { tmpDataTable = new DataTable(); } else { tmpDataTable.Reset(); } da.Fill(tmpDataTable); #endif #if TEST_EXECUTE_NON_QUERY if (cmd == null) { cmd = conn.CreateCommand(); } cmd.NamedParameters = false; cmd.CommandType = CommandType.Text; cmd.Parameters.Clear(); cmd.CommandText = "update Victim set Val = ? where Id = ?"; cmd.Parameters.Add("Val", AseDbType.Integer); cmd.Parameters.Add("Id", AseDbType.Integer); for (int Id = 1; Id <= 5; Id += 2) { cmd.Parameters["Val"].Value = Id; cmd.Parameters["Id"].Value = Id; tmpInt = cmd.ExecuteNonQuery(); } cmd.NamedParameters = true; #endif #if TEST_BLOB if (cmd == null) { cmd = conn.CreateCommand(); } cmd.CommandType = CommandType.Text; FileStream fs; byte[] Blob; #if TEST_BLOB_SAVE tmpString = "@FImage"; cmd.CommandText = "update TestTypes set FImage = " + tmpString; cmd.Parameters.Clear(); cmd.Parameters.Add(tmpString, AseDbType.Image); fs = new FileStream("welcome.bmp", FileMode.Open, FileAccess.Read); Blob = new byte[fs.Length]; fs.Read(Blob, 0, Blob.Length); cmd.Parameters[tmpString].Value = Blob; tmpInt = cmd.ExecuteNonQuery(); #endif cmd.Parameters.Clear(); cmd.CommandText = "select * from TestTypes"; reader = cmd.ExecuteReader(); do { if (reader.HasRows) { for (int i = 0; i < reader.FieldCount; ++i) { fstr_out.WriteLine(reader.GetName(i) + " GetDataTypeName(): \"" + reader.GetDataTypeName(i) + "\" GetFieldType(): \"" + reader.GetFieldType(i) + "\""); } tmpInt = reader.GetOrdinal("FImage"); while (reader.Read()) { tmpString = "FromBlob.bmp"; if (File.Exists(tmpString)) { File.Delete(tmpString); } Blob = (byte[])reader["FImage"]; fs = new FileStream(tmpString, FileMode.Create); fs.Write(Blob, 0, Blob.Length); fs.Close(); tmpString = "FromBlob_1.bmp"; if (File.Exists(tmpString)) { File.Delete(tmpString); } Blob = new byte[reader.GetBytes(tmpInt, 0, null, 0, int.MaxValue)]; reader.GetBytes(tmpInt, 0, Blob, 0, Blob.Length); fs = new FileStream(tmpString, FileMode.Create); fs.Write(Blob, 0, Blob.Length); fs.Close(); } } }while(reader.NextResult()); reader.Close(); #endif #if TEST_SMTH if (cmd == null) { cmd = conn.CreateCommand(); } cmd.CommandType = CommandType.Text; cmd.CommandText = "select * from TestDate order by FDate"; cmd.Parameters.Clear(); if (da == null) { da = new AseDataAdapter(cmd); } else { da.SelectCommand = cmd; } if (tmpDataTable != null) { tmpDataTable.Reset(); } else { tmpDataTable = new DataTable(); } da.Fill(tmpDataTable); tmpString = ""; for (int i = 0; i < tmpDataTable.Rows.Count; ++i) { if (tmpString != string.Empty) { tmpString += " "; } tmpString += Convert.ToDateTime(tmpDataTable.Rows[i]["FDate"]).ToString("yyyy-MM-dd"); } cmd.NamedParameters = false; cmd.CommandText = "update TestTypes set FDatetime = ?"; cmd.Parameters.Clear(); cmd.Parameters.Add("FDate", AseDbType.DateTime).Value = DateTime.Now; tmpInt = cmd.ExecuteNonQuery(); cmd.NamedParameters = true; cmd.CommandText = "update TestTypes set FDatetime = @FDatetime"; cmd.Parameters.Clear(); cmd.Parameters.Add("@FDatetime", AseDbType.DateTime).Value = DateTime.Now; tmpInt = cmd.ExecuteNonQuery(); #endif #if TEST_DATA_ADAPTER_FILL_SCHEMA if (cmd == null) { cmd = conn.CreateCommand(); } cmd.CommandType = CommandType.Text; cmd.CommandText = "select * from Staff"; if (da == null) { da = new AseDataAdapter(cmd); } else { da.SelectCommand = cmd; } if (tmpDataTable != null) { tmpDataTable.Reset(); } else { tmpDataTable = new DataTable(); } da.FillSchema(tmpDataTable, SchemaType.Source); #endif #if TEST_STORED_PROCEDURES if (cmd == null) { cmd = conn.CreateCommand(); } object[] tmpObjects = new object[] { 5, 6 }; cmd.CommandType = CommandType.StoredProcedure; cmd.NamedParameters = false; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "mathtutor"; for (int i = 0; i < tmpObjects.Length; ++i) { Parameter = new AseParameter(); Parameter.ParameterName = "Param" + i; switch (Type.GetTypeCode(tmpObjects[i].GetType())) { case System.TypeCode.Int32: { Parameter.DbType = DbType.Int32; break; } } Parameter.Value = tmpObjects[i]; cmd.Parameters.Add(Parameter); } Parameter = new AseParameter(); Parameter.ParameterName = "Param3"; Parameter.DbType = DbType.Int32; Parameter.Direction = ParameterDirection.Output; cmd.Parameters.Add(Parameter); cmd.ExecuteNonQuery(); tmpInt = !Convert.IsDBNull(cmd.Parameters["Param3"].Value) ? Convert.ToInt32(cmd.Parameters["Param3"].Value) : Int32.MinValue; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "sp_TestTypes_Decimal_10_6"; AseCommandBuilder.DeriveParameters(cmd); cmd.Parameters["@FDecimal_10_6"].Value = 123.45m; cmd.ExecuteNonQuery(); tmpDecimal = !Convert.IsDBNull(cmd.Parameters["@FDecimal_10_6_out"].Value) ? Convert.ToDecimal(cmd.Parameters["@FDecimal_10_6_out"].Value) : decimal.MinValue; cmd.Parameters.Clear(); cmd.CommandType = CommandType.Text; cmd.CommandText = "{? = call sp_TestTypes_Decimal_10_6(? ,?)}"; cmd.NamedParameters = false; Parameter = new AseParameter("@RETURN_VALUE", AseDbType.Integer); Parameter.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(Parameter); Parameter = new AseParameter("@FDecimal_10_6", AseDbType.Decimal); //AseDbType.Numeric //Parameter=new AseParameter(); //Parameter.ParameterName="@FDecimal_10_6"; //Parameter.DbType=DbType.Decimal; //Parameter.AseDbType=AseDbType.Decimal; //AseDbType.Numeric Parameter.Direction = ParameterDirection.Input; //Parameter.Precision=10; //Parameter.Scale=6; Parameter.Value = 123.45m; cmd.Parameters.Add(Parameter); Parameter = new AseParameter("@FDecimal_10_6_out", AseDbType.Decimal); //AseDbType.Numeric Parameter.Direction = ParameterDirection.Output; Parameter.Precision = 10; Parameter.Scale = 6; cmd.Parameters.Add(Parameter); cmd.ExecuteNonQuery(); tmpDecimal = !Convert.IsDBNull(cmd.Parameters["@FDecimal_10_6_out"].Value) ? Convert.ToDecimal(cmd.Parameters["@FDecimal_10_6_out"].Value) : decimal.MinValue; tmpDecimal = 2; if (cmd == null) { cmd = conn.CreateCommand(); } cmd.Parameters.Clear(); cmd.CommandType = CommandType.Text; cmd.CommandText = "{call UpdateTestTypes(?)}"; cmd.NamedParameters = false; Parameter = new AseParameter("@rate", AseDbType.Decimal); Parameter.Direction = ParameterDirection.Input; Parameter.Value = tmpDecimal; cmd.Parameters.Add(Parameter); /* * if(cmd==null) * cmd=conn.CreateCommand(); * * cmd.CommandType=CommandType.StoredProcedure; * cmd.CommandText="UpdateTestTypes"; * AseCommandBuilder.DeriveParameters(cmd); * cmd.Parameters["@Decimal_18_4"].Value=tmpDecimal; */ tmpInt = cmd.ExecuteNonQuery(); cmd.CommandType = CommandType.StoredProcedure; for (int size = 255; size <= 258; ++size) { cmd.CommandText = "sp_ReturnAndOutputVarChar" + size; AseCommandBuilder.DeriveParameters(cmd); cmd.ExecuteNonQuery(); tmpString = !Convert.IsDBNull(cmd.Parameters["@OutParam"].Value) ? Convert.ToString(cmd.Parameters["@OutParam"].Value) : "NULL"; } conn.ChangeDatabase("master"); cmd.CommandText = "testdb..sp_ReturnAndOutput"; AseCommandBuilder.DeriveParameters(cmd); conn.ChangeDatabase("testdb"); #endif Transaction = conn.BeginTransaction(IsolationLevel.ReadCommitted); if (cmd == null) { cmd = conn.CreateCommand(); } cmd.Transaction = Transaction; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "sp_Staff_Save"; //cmd.CommandText="sp_TestTypes"; fstr_out.WriteLine("AseCommandBuilder.DeriveParameters(\"" + cmd.CommandText + "\")"); AseCommandBuilder.DeriveParameters(cmd); foreach (AseParameter parameter in cmd.Parameters) { fstr_out.WriteLine("\tParameterIndex: " + parameter.ParameterIndex + Environment.NewLine + "\tParameterName: " + parameter.ParameterName + Environment.NewLine + "\tDirection: " + parameter.Direction + Environment.NewLine + "\tDbType: " + parameter.DbType + Environment.NewLine + "\tAseDbType: " + parameter.AseDbType + Environment.NewLine + "\tSize: " + parameter.Size + Environment.NewLine + "\tPrecision: " + parameter.Precision + Environment.NewLine + "\tScale: " + parameter.Scale + Environment.NewLine + "\tIsNullable: " + parameter.IsNullable.ToString().ToLower() + Environment.NewLine + "\tSourceColumn: " + parameter.SourceColumn + Environment.NewLine + "\tSourceVersion: " + parameter.SourceVersion + Environment.NewLine); } fstr_out.WriteLine(); conn.ChangeDatabase("veksel"); cmd.CommandText = "sp_CONTRACT_SAVE"; fstr_out.WriteLine("AseCommandBuilder.DeriveParameters(\"" + cmd.CommandText + "\")"); AseCommandBuilder.DeriveParameters(cmd); foreach (AseParameter parameter in cmd.Parameters) { fstr_out.WriteLine("\tParameterIndex: " + parameter.ParameterIndex + Environment.NewLine + "\tParameterName: " + parameter.ParameterName + Environment.NewLine + "\tDirection: " + parameter.Direction + Environment.NewLine + "\tDbType: " + parameter.DbType + Environment.NewLine + "\tAseDbType: " + parameter.AseDbType + Environment.NewLine + "\tSize: " + parameter.Size + Environment.NewLine + "\tPrecision: " + parameter.Precision + Environment.NewLine + "\tScale: " + parameter.Scale + Environment.NewLine + "\tIsNullable: " + parameter.IsNullable.ToString().ToLower() + Environment.NewLine + "\tSourceColumn: " + parameter.SourceColumn + Environment.NewLine + "\tSourceVersion: " + parameter.SourceVersion + Environment.NewLine); } fstr_out.WriteLine(); Transaction.Rollback(); Transaction = null; Result = 0; } catch (AseException eException) { Console.WriteLine(eException.GetType().FullName + Environment.NewLine + "Errors:" + Environment.NewLine + ErrorsToString(eException.Errors) + Environment.NewLine + "Message: " + eException.Message + Environment.NewLine + "Source: " + eException.Source + Environment.NewLine + "StackTrace:" + Environment.NewLine + eException.StackTrace + Environment.NewLine + "TargetSite: " + eException.TargetSite + Environment.NewLine); } catch (Exception eException) { Console.WriteLine(eException.GetType().FullName + Environment.NewLine + "Message: " + eException.Message + Environment.NewLine + "Source: " + eException.Source + Environment.NewLine + "StackTrace:" + Environment.NewLine + eException.StackTrace + Environment.NewLine + "TargetSite: " + eException.TargetSite + Environment.NewLine + "InnerException:" + Environment.NewLine + eException.InnerException.GetType().FullName + Environment.NewLine + "InnerException.Message: " + eException.InnerException.Message + Environment.NewLine + "InnerException.Source: " + eException.InnerException.Source + Environment.NewLine + "InnerException.StackTrace:" + Environment.NewLine + eException.InnerException.StackTrace + Environment.NewLine + "InnerException.TargetSite: " + eException.InnerException.TargetSite); } } finally { if (Transaction != null) { try { Transaction.Rollback(); } catch { ; } } if (reader != null && !reader.IsClosed) { reader.Close(); } if (cmd != null) { cmd.Dispose(); } if (conn != null && conn.State == System.Data.ConnectionState.Open) { conn.Close(); } if (fstr_out != null) { fstr_out.Close(); } #if WITH_TRACE if (_strmWriter != null) { _strmWriter.Close(); } #endif } return(Result); }
public DataSet GetData(procedure type) { DataSet dsReport = new DataSet(); string strOut = string.Empty; AseConnection oCon = new AseConnection(strCon); try { string strHandler = Convert.ToString(GetFromSession("Handler")); int intTimeout; AseCommand oCmd = null; if (type.Equals(procedure.FLSH_RPT)) { oCmd = new AseCommand("FLSH_RPT", oCon); } if (type.Equals(procedure.DISTINCT_DTC)) { oCmd = new AseCommand("DISTINCT_DTC", oCon); } oCmd.CommandType = CommandType.StoredProcedure; intTimeout = oCmd.CommandTimeout; oCmd.CommandTimeout = 0; AseParameter oParam1 = new AseParameter("@recon_handle", AseDbType.VarChar, 25); oParam1.Value = strHandler; oCmd.Parameters.Add(oParam1); AseDataAdapter oAseAdp = new AseDataAdapter(oCmd); oAseAdp.Fill(dsReport); oCmd.CommandTimeout = intTimeout; oCmd.Dispose(); oCon.Close(); oCon.Dispose(); oCmd = null; oCon = null; } catch (Exception ex) { log.Info("Exception occured-GetData():", ex); oCon.Close(); oCon.Dispose(); oCon = null; if (ex.Message == "No Flash Record found") { dsReport = null; return dsReport; } throw; } return dsReport; }
/// <summary> /// 更新DataTable的方式插入数据 /// </summary> /// <param name="_dt">DataTable</param> /// <returns>插入记录条数</returns> public override int DataTableInsert(DataTable _dt) { bool flag = false; int _nResult = 0; if (_dt == null) { return(_nResult); } string _sCmdText = string.Format("select * from {0} where 1=2", _dt.TableName); AseCommand _Command = (AseCommand)CreateCommand(_sCmdText, CommandType.Text); AseDataAdapter _adapter = new AseDataAdapter(_Command); AseDataAdapter _adapter1 = new AseDataAdapter(_Command); AseCommandBuilder _builder = new AseCommandBuilder(_adapter1); _adapter.InsertCommand = _builder.GetInsertCommand(); if (_adapter.InsertCommand.Parameters.Count < _dt.Columns.Count) { flag = true;//因为表中有自增字段,所以CommandBuild生成的InserttCommand的参数中少了自增字段 foreach (DataColumn _dc in _dt.Columns) { if (!_adapter.InsertCommand.Parameters.Contains(_dc.ColumnName)) { _adapter.InsertCommand.CommandText = _adapter.InsertCommand.CommandText.Insert(_adapter.InsertCommand.CommandText.IndexOf(") VALUES"), ',' + _dc.ColumnName); _adapter.InsertCommand.CommandText = _adapter.InsertCommand.CommandText.Insert(_adapter.InsertCommand.CommandText.Length - 1, ",@" + _dc.ColumnName); _adapter.InsertCommand.Parameters.Add("@" + _dc.ColumnName, AseDbType.Decimal, _dc.MaxLength, _dc.ColumnName); if (_adapter.InsertCommand.Parameters.Count >= _dt.Columns.Count) { break; } } } } if (flag) { this.ExecuteNoQuery(string.Format("SET IDENTITY_INSERT {0} on", _dt.TableName)); } this.BeginTransaction(); try { _Command.CommandText = "delete from " + _dt.TableName; _Command.ExecuteNonQuery(); _adapter.InsertCommand.Transaction = _Command.Transaction; _nResult = _adapter.Update(_dt); this.CommitTransaction(); } catch (Exception ex) { this.RollbackTransaction(); throw ex; } finally { if (flag) { this.ExecuteNoQuery(string.Format("SET IDENTITY_INSERT {0} OFF", _dt.TableName)); } } return(_nResult); }
/// <summary> /// calling the stored procedure MCM_STAGE..FLSH_DTC_RCN_RPT /// prepare the comparison report and returns the data with exception and success /// </summary> public DataSet dsExceptionReport(string strTradeDate, int PageSize, string strType) { DataSet dsReport = new DataSet(); string strOut = string.Empty; string strCon = ConfigurationSettings.AppSettings["ConnectionSybaseMCM_STAGE"]; AseConnection oCon = new AseConnection(strCon); try { string strHandler = Convert.ToString(GetFromSession("Handler")); int intTimeout; AseCommand oCmd; if (strType == "1")//Equity trades oCmd = new AseCommand("FLSH_DTC_RCN_RPT", oCon); else//FI trades oCmd = new AseCommand("FLSH_DTC_RCN_RPT_FI", oCon); oCmd.CommandType = CommandType.StoredProcedure; intTimeout = oCmd.CommandTimeout; oCmd.CommandTimeout = 0; AseParameter oParam = new AseParameter("@trade_dt", AseDbType.DateTime); oParam.Value = Convert.ToDateTime(strTradeDate).ToShortDateString(); oCmd.Parameters.Add(oParam); AseParameter oParam1 = new AseParameter("@recon_handle", AseDbType.VarChar, 25); oParam1.Value = strHandler; oCmd.Parameters.Add(oParam1); AseDataAdapter oAseAdp = new AseDataAdapter(oCmd); oAseAdp.Fill(dsReport); oCmd.CommandTimeout = intTimeout; oCmd.Dispose(); oCon.Close(); oCon.Dispose(); oCmd = null; oCon = null; } catch (Exception ex) { log.Info("Exception occured-dsExceptionReport():", ex); oCon.Close(); oCon.Dispose(); oCon = null; if (ex.Message == "No Broker Record for that date") { dsReport = null; return dsReport; } throw; } return dsReport; }
private System.Data.DataTable GetCompareRecords() { string strCon = ConfigurationSettings.AppSettings["ConnectionSybaseMCM_STAGE"]; using (AseConnection oCon = new AseConnection(strCon)) { using (AseCommand oCom = new AseCommand("select * from Confirms_DifferenceTable", oCon) { CommandType = CommandType.Text }) { oCon.Open(); AseDataAdapter adapter = new AseDataAdapter(oCom); adapter.Fill(dtCompare); } } return dtCompare; }
public DataSet GetConsolidateReport(string strType) { DataSet dsReport = new DataSet(); //string strOut = string.Empty; string strCon = ConfigurationSettings.AppSettings["ConnectionSybaseMCM_STAGE"]; AseConnection oCon = new AseConnection(strCon); try { string strHandler = Convert.ToString(GetFromSession("Handler")); int intTimeout; AseCommand oCmd; if (strType == "1")//Equity trades oCmd = new AseCommand("FLSH_DTC_RCN_ECEPTION_ALL", oCon); else//FI trades oCmd = new AseCommand("RCN_EXCEPTION_DETAILS_FI_ALL", oCon); oCmd.CommandType = CommandType.StoredProcedure; intTimeout = oCmd.CommandTimeout; oCmd.CommandTimeout = 0; AseParameter oParam = new AseParameter("@recon_handle", AseDbType.VarChar, 25); oParam.Value = strHandler; oCmd.Parameters.Add(oParam); AseDataAdapter oAseAdp = new AseDataAdapter(oCmd); oAseAdp.Fill(dsReport); oCmd.CommandTimeout = intTimeout; oCmd.Dispose(); oCon.Close(); oCon.Dispose(); oCmd = null; oCon = null; } catch (Exception ex) { log.Info("Exception occured-GetConsolidateReport():", ex); oCon.Close(); oCon.Dispose(); oCon = null; dsReport = null; throw; } return dsReport; }
public override DataTable ExecuteQuery(string cmdText, DBHelperParmCollection parameters) { DataTable dtRet = new DataTable(); AseCommand _AseCommand = (AseCommand)CreateCommand(cmdText, CommandType.Text); _AseCommand.Parameters.Clear(); if (parameters != null) { foreach (DBHelperParm para in parameters) { _AseCommand.Parameters.Add(new AseParameter(para.Key, EncodingHelper.Default2DB(para.Value, _DBEncodeing))); } } AseDataAdapter _OdbcDataAdapter = new AseDataAdapter(_AseCommand); try { ProcessDataTable(dtRet); _OdbcDataAdapter.Fill(dtRet); } catch (Exception ex) { throw ex; } return dtRet; }
public DataSet GetData(procedure type, string flashAcctNum,string dtcAcctNum) { DataSet dsReport = new DataSet(); string strOut = string.Empty; string strCon = ConfigurationSettings.AppSettings["ConnectionSybaseMCM_STAGE"]; AseConnection oCon = new AseConnection(strCon); try { string strHandler = Convert.ToString(GetFromSession("Handler")); int intTimeout; AseCommand oCmd = null; if (type.Equals(procedure.SEARCH_FLSH_SINGLE))//Equity trades { oCmd = new AseCommand("SEARCH_FLSH_SINGLE", oCon); AseParameter oParam2 = new AseParameter("@flash_number", AseDbType.VarChar, 25); oParam2.Value = flashAcctNum; oCmd.Parameters.Add(oParam2); AseParameter oParam1 = new AseParameter("@dtc_number", AseDbType.VarChar, 25); oParam1.Value = dtcAcctNum; oCmd.Parameters.Add(oParam1); } if (type.Equals(procedure.SEARCH_NONACTIVE))//Equity trades { oCmd = new AseCommand("SEARCH_NotActive", oCon); AseParameter oParam2 = new AseParameter("@flash_number", AseDbType.VarChar, 25); oParam2.Value = flashAcctNum; oCmd.Parameters.Add(oParam2); AseParameter oParam1 = new AseParameter("@dtc_number", AseDbType.VarChar, 25); oParam1.Value = dtcAcctNum; oCmd.Parameters.Add(oParam1); } oCmd.CommandType = CommandType.StoredProcedure; intTimeout = oCmd.CommandTimeout; oCmd.CommandTimeout = 0; AseParameter oParam0 = new AseParameter("@recon_handle", AseDbType.VarChar, 25); oParam0.Value = strHandler; oCmd.Parameters.Add(oParam0); AseDataAdapter oAseAdp = new AseDataAdapter(oCmd); oAseAdp.Fill(dsReport); oCmd.CommandTimeout = intTimeout; oCmd.Dispose(); oCon.Close(); oCon.Dispose(); oCmd = null; oCon = null; } catch (Exception ex) { log.Info("Exception occured-GetData():", ex); oCon.Close(); oCon.Dispose(); oCon = null; if (ex.Message == "No Flash Record found") { dsReport = null; return dsReport; } throw; } return dsReport; }
protected override IDbDataAdapter CreateAdapter(string cmdText) { if (_IDbDataAdapter == null) { _IDbDataAdapter = new AseDataAdapter(); } _IDbDataAdapter.SelectCommand = CreateCommand(cmdText, CommandType.Text); return _IDbDataAdapter; }