2023年6月21日发(作者:)

IDbDataParameter的使⽤及数据⼯⼚IDbDataParameter[] para=DbParameters(11)//DbFactory为数据⼯⼚,括号⾥的为要创建的参数的个数param[0].ParameterName=''@CreateUser";param[0].Value=''CreaterUser的值";..............................................................param[11].ParameterName=''@SearchUser";param[0].Value=''SearchUser的值"; public static List getInvoiceByCondition(ConditionEntity ce) { var sql = new StringBuilder(); List list = new List(); InvoiceEntity ie = null; (@"select , eType, Time, User, th, eStatus, tNumber,

ctNumber, nter, , ion, yName, yAddress,

umber, fyNumber, countBank, count, PoNo,

Name, cy, eSum, eTime, sCompany, sNo, sTime, eNumber, eUser, , eID,"); (@"ctNo, tNo, ype, ctMoney, dateTime,"); (@"tNo, tName, , , dateTime"); (" from tbInvoice a"); (" left join forinvoicesystem_Po b on ctnumber=ctno"); (" left join forinvoicesystem_project c on tno=tno where 1=1"); if (!OrEmpty(ng())) { (" and (User=@CreateUser or =@CreateUser or =@CreateUser)"); } if (!OrEmpty(ime) && !OrEmpty(e)) { (" and (Time>@startTime and CreateTime<@endTime)"); } if (!OrEmpty(tNumber)) { (" and tNumber like @ProjectNumber"); } if (!OrEmpty(nter)) { (" and nter=@CostCenter"); } if (!OrEmpty(eType)) { (" and eType=@InvoiceType"); } else { eType = ; } } if (!OrEmpty(eStatus)) { (" and eStatus=@invoiceStatus"); } if (!OrEmpty() && !OrEmpty()) { (" and (=@AM and =@PM)"); } else { if (!OrEmpty()) { (" and =@AM"); } if (!OrEmpty()) { (" and =@PM"); } } if (!OrEmpty(tName)) { (" and tName like @ProjectName"); } if (!OrEmpty(User)) { (" and User = @SearchUser"); } (" order by desc"); IDbDataParameter[] param = DbParameters(11); param[0].ParameterName = "@CreateUser"; param[0].Value = User; param[1].ParameterName = "@startTime"; param[1].Value = ime; param[2].ParameterName = "@endTime"; param[2].Value = e; param[3].ParameterName = "@ProjectNumber"; param[3].Value = "%" + () + "%"; param[4].ParameterName = "@CostCenter"; param[4].Value = nter; param[5].ParameterName = "@InvoiceType"; param[5].Value = eType; param[6].ParameterName = "@invoiceStatus"; param[6].Value = eStatus; param[7].ParameterName = "@AM"; param[7].Value = ; param[8].ParameterName = "@PM"; param[8].Value = ; param[9].ParameterName = "@ProjectName"; param[9].Value = "%" + tName + "%"; param[10].ParameterName = "@SearchUser"; param[10].Value = User; using (IDataReader reader = eReader(tionString,, ng(), param)) { { while (()) { ie = new InvoiceEntity(); = 32(reader, "ID"); eType = 32(reader, "InvoiceType"); th = ing(reader, "FilePath"); = ing(reader, "Rate"); yAddress = ing(reader, "CompanyAddress"); umber = ing(reader, "PhoneNumber"); fyNumber = ing(reader, "IdentifyNumber"); countBank = ing(reader, "OpenAccountBank"); count = ing(reader, "BankAccount"); PoNo = ing(reader, "ClientPoNo"); Name = ing(reader, "ClientName"); cy = ing(reader, "Currency"); eSum = imal(reader, "InvoiceSum"); eTime = eTime(reader, "OperateTime"); = ing(reader, "Memo"); sTime = ing(reader, "ExpressTime"); eNumber = ing(reader, "InvoiceNumber"); eUser = ing(reader, "OperateUser"); eStatus = 32(reader, "InvoiceStatus"); sCompany = ing(reader, "ExpressCompany"); sNo = ing(reader, "ExpressNo"); Time = eTime(reader, "CreateTime"); User = ing(reader, "CreateUser"); ctNumber = ing(reader, "ContractNumber"); tNumber = ing(reader, "ProjectNumber"); nter = ing(reader, "CostCenter"); ion = ing(reader, "Extension"); eID = d(reader, "InvoiceID").ToString(); yName = ing(reader, "CompanyName"); //ID, InvoiceType, CreateTime, CreateUser, FilePath, InvoiceStatus, ProjectNumber,

//ContractNumber, CostCenter, Rate, Extension, CompanyName, CompanyAddress,

//PhoneNumber, IdentifyNumber, OpenAccountBank, BankAccount, ClientPoNo,

//ClientName, Currency, InvoiceSum, OperateTime, ExpressCompany, ExpressNo, //ExpressTime, InvoiceNumber, OperateUser, Memo, InvoiceID = new PoEntity(); ctMoney = imal(reader, "ContractMoney"); ctNo = ing(reader, "ContractNo"); dateTime = eTime(reader, "LastUpdateTime"); ype = ing(reader, "MoneyType"); tNo = 64(reader, "ProjectNo"); t = new ProjectEntity(); tName = ing(reader, "ProjectName"); tNo = 64(reader, "ProjectNo").ToString(); dateTime = eTime(reader, "LastUpdateTime"); = ing(reader, "am"); = ing(reader, "pm"); (ie); } } return list; return list; }DbFactory的⼯⼚using System;using c;using ;using ;using ;using Utility;using ent;using Client;using ;namespace BaseDataAccess{ public class DbFactory { ///

/// 根据配置⽂件中所配置的数据库类型 /// 来获取命令参数中的参数符号oracle为":",sqlserver为"@" /// /// public static string CreateDbParmCharacter() { string character = ; switch () { case VER: character = "@"; break; case : character = ":"; break; case : character = "@"; break; default: throw new Exception("数据库类型⽬前不⽀持!"); } } return character; } /// /// 根据配置⽂件中所配置的数据库类型和传⼊的 /// 数据库链接字符串来创建相应数据库连接对象 /// /// /// public static IDbConnection CreateDbConnection(string connectionString) { IDbConnection conn = null; switch () { case VER: conn = new SqlConnection(connectionString); break; case : conn = new OracleConnection(connectionString); break; case : conn = new OleDbConnection(connectionString); break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return conn; } /// /// 根据配置⽂件中所配置的数据库类型 /// 来创建相应数据库命令对象 /// /// public static IDbCommand CreateDbCommand() { IDbCommand cmd = null; switch () { case VER: cmd = new SqlCommand(); break; case : cmd = new OracleCommand(); break; case : cmd = new OleDbCommand(); break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return cmd; return cmd; } /// /// 根据配置⽂件中所配置的数据库类型 /// 来创建相应数据库适配器对象 /// /// public static IDbDataAdapter CreateDataAdapter() { IDbDataAdapter adapter = null; switch () { case VER: adapter = new SqlDataAdapter(); break; case : adapter = new OracleDataAdapter(); break; case : adapter = new OleDbDataAdapter(); break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return adapter; } /// /// 根据配置⽂件中所配置的数据库类型 /// 和传⼊的命令对象来创建相应数据库适配器对象 /// /// public static IDbDataAdapter CreateDataAdapter(IDbCommand cmd) { IDbDataAdapter adapter = null; switch () { case VER: adapter = new SqlDataAdapter((SqlCommand)cmd); break; case : adapter = new OracleDataAdapter((OracleCommand)cmd); break; case : adapter = new OleDbDataAdapter((OleDbCommand)cmd); break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return adapter; } /// /// 根据配置⽂件中所配置的数据库类型 /// 根据配置⽂件中所配置的数据库类型 /// 来创建相应数据库的参数对象 /// /// public static IDbDataParameter CreateDbParameter() { IDbDataParameter param = null; switch () { case VER: param = new SqlParameter(); break; case : param = new OracleParameter(); break; case : param = new OleDbParameter(); break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return param; } /// /// 根据配置⽂件中所配置的数据库类型 /// 和传⼊的参数来创建相应数据库的参数数组对象 /// /// public static IDbDataParameter[] CreateDbParameters(int size) { int i = 0; IDbDataParameter[] param = null; string a = ng(); switch () { case VER: param = new SqlParameter[size]; while (i < size) { param[i] = new SqlParameter(); i++; } break; case : param = new OracleParameter[size]; while (i < size) { param[i] = new OracleParameter(); i++; } break; case : param = new OleDbParameter[size]; while (i < size) { param[i] = new OleDbParameter(); i++; } break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return param; } } /// /// 根据配置⽂件中所配置的数据库类型 /// 来创建相应数据库的事物对象 /// /// public static IDbTransaction CreateDbTransaction() { IDbConnection conn = CreateDbConnection(tionString); if ( == ) { (); } return ransaction(); } }}

2023年6月21日发(作者:)

IDbDataParameter的使⽤及数据⼯⼚IDbDataParameter[] para=DbParameters(11)//DbFactory为数据⼯⼚,括号⾥的为要创建的参数的个数param[0].ParameterName=''@CreateUser";param[0].Value=''CreaterUser的值";..............................................................param[11].ParameterName=''@SearchUser";param[0].Value=''SearchUser的值"; public static List getInvoiceByCondition(ConditionEntity ce) { var sql = new StringBuilder(); List list = new List(); InvoiceEntity ie = null; (@"select , eType, Time, User, th, eStatus, tNumber,

ctNumber, nter, , ion, yName, yAddress,

umber, fyNumber, countBank, count, PoNo,

Name, cy, eSum, eTime, sCompany, sNo, sTime, eNumber, eUser, , eID,"); (@"ctNo, tNo, ype, ctMoney, dateTime,"); (@"tNo, tName, , , dateTime"); (" from tbInvoice a"); (" left join forinvoicesystem_Po b on ctnumber=ctno"); (" left join forinvoicesystem_project c on tno=tno where 1=1"); if (!OrEmpty(ng())) { (" and (User=@CreateUser or =@CreateUser or =@CreateUser)"); } if (!OrEmpty(ime) && !OrEmpty(e)) { (" and (Time>@startTime and CreateTime<@endTime)"); } if (!OrEmpty(tNumber)) { (" and tNumber like @ProjectNumber"); } if (!OrEmpty(nter)) { (" and nter=@CostCenter"); } if (!OrEmpty(eType)) { (" and eType=@InvoiceType"); } else { eType = ; } } if (!OrEmpty(eStatus)) { (" and eStatus=@invoiceStatus"); } if (!OrEmpty() && !OrEmpty()) { (" and (=@AM and =@PM)"); } else { if (!OrEmpty()) { (" and =@AM"); } if (!OrEmpty()) { (" and =@PM"); } } if (!OrEmpty(tName)) { (" and tName like @ProjectName"); } if (!OrEmpty(User)) { (" and User = @SearchUser"); } (" order by desc"); IDbDataParameter[] param = DbParameters(11); param[0].ParameterName = "@CreateUser"; param[0].Value = User; param[1].ParameterName = "@startTime"; param[1].Value = ime; param[2].ParameterName = "@endTime"; param[2].Value = e; param[3].ParameterName = "@ProjectNumber"; param[3].Value = "%" + () + "%"; param[4].ParameterName = "@CostCenter"; param[4].Value = nter; param[5].ParameterName = "@InvoiceType"; param[5].Value = eType; param[6].ParameterName = "@invoiceStatus"; param[6].Value = eStatus; param[7].ParameterName = "@AM"; param[7].Value = ; param[8].ParameterName = "@PM"; param[8].Value = ; param[9].ParameterName = "@ProjectName"; param[9].Value = "%" + tName + "%"; param[10].ParameterName = "@SearchUser"; param[10].Value = User; using (IDataReader reader = eReader(tionString,, ng(), param)) { { while (()) { ie = new InvoiceEntity(); = 32(reader, "ID"); eType = 32(reader, "InvoiceType"); th = ing(reader, "FilePath"); = ing(reader, "Rate"); yAddress = ing(reader, "CompanyAddress"); umber = ing(reader, "PhoneNumber"); fyNumber = ing(reader, "IdentifyNumber"); countBank = ing(reader, "OpenAccountBank"); count = ing(reader, "BankAccount"); PoNo = ing(reader, "ClientPoNo"); Name = ing(reader, "ClientName"); cy = ing(reader, "Currency"); eSum = imal(reader, "InvoiceSum"); eTime = eTime(reader, "OperateTime"); = ing(reader, "Memo"); sTime = ing(reader, "ExpressTime"); eNumber = ing(reader, "InvoiceNumber"); eUser = ing(reader, "OperateUser"); eStatus = 32(reader, "InvoiceStatus"); sCompany = ing(reader, "ExpressCompany"); sNo = ing(reader, "ExpressNo"); Time = eTime(reader, "CreateTime"); User = ing(reader, "CreateUser"); ctNumber = ing(reader, "ContractNumber"); tNumber = ing(reader, "ProjectNumber"); nter = ing(reader, "CostCenter"); ion = ing(reader, "Extension"); eID = d(reader, "InvoiceID").ToString(); yName = ing(reader, "CompanyName"); //ID, InvoiceType, CreateTime, CreateUser, FilePath, InvoiceStatus, ProjectNumber,

//ContractNumber, CostCenter, Rate, Extension, CompanyName, CompanyAddress,

//PhoneNumber, IdentifyNumber, OpenAccountBank, BankAccount, ClientPoNo,

//ClientName, Currency, InvoiceSum, OperateTime, ExpressCompany, ExpressNo, //ExpressTime, InvoiceNumber, OperateUser, Memo, InvoiceID = new PoEntity(); ctMoney = imal(reader, "ContractMoney"); ctNo = ing(reader, "ContractNo"); dateTime = eTime(reader, "LastUpdateTime"); ype = ing(reader, "MoneyType"); tNo = 64(reader, "ProjectNo"); t = new ProjectEntity(); tName = ing(reader, "ProjectName"); tNo = 64(reader, "ProjectNo").ToString(); dateTime = eTime(reader, "LastUpdateTime"); = ing(reader, "am"); = ing(reader, "pm"); (ie); } } return list; return list; }DbFactory的⼯⼚using System;using c;using ;using ;using ;using Utility;using ent;using Client;using ;namespace BaseDataAccess{ public class DbFactory { ///

/// 根据配置⽂件中所配置的数据库类型 /// 来获取命令参数中的参数符号oracle为":",sqlserver为"@" /// /// public static string CreateDbParmCharacter() { string character = ; switch () { case VER: character = "@"; break; case : character = ":"; break; case : character = "@"; break; default: throw new Exception("数据库类型⽬前不⽀持!"); } } return character; } /// /// 根据配置⽂件中所配置的数据库类型和传⼊的 /// 数据库链接字符串来创建相应数据库连接对象 /// /// /// public static IDbConnection CreateDbConnection(string connectionString) { IDbConnection conn = null; switch () { case VER: conn = new SqlConnection(connectionString); break; case : conn = new OracleConnection(connectionString); break; case : conn = new OleDbConnection(connectionString); break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return conn; } /// /// 根据配置⽂件中所配置的数据库类型 /// 来创建相应数据库命令对象 /// /// public static IDbCommand CreateDbCommand() { IDbCommand cmd = null; switch () { case VER: cmd = new SqlCommand(); break; case : cmd = new OracleCommand(); break; case : cmd = new OleDbCommand(); break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return cmd; return cmd; } /// /// 根据配置⽂件中所配置的数据库类型 /// 来创建相应数据库适配器对象 /// /// public static IDbDataAdapter CreateDataAdapter() { IDbDataAdapter adapter = null; switch () { case VER: adapter = new SqlDataAdapter(); break; case : adapter = new OracleDataAdapter(); break; case : adapter = new OleDbDataAdapter(); break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return adapter; } /// /// 根据配置⽂件中所配置的数据库类型 /// 和传⼊的命令对象来创建相应数据库适配器对象 /// /// public static IDbDataAdapter CreateDataAdapter(IDbCommand cmd) { IDbDataAdapter adapter = null; switch () { case VER: adapter = new SqlDataAdapter((SqlCommand)cmd); break; case : adapter = new OracleDataAdapter((OracleCommand)cmd); break; case : adapter = new OleDbDataAdapter((OleDbCommand)cmd); break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return adapter; } /// /// 根据配置⽂件中所配置的数据库类型 /// 根据配置⽂件中所配置的数据库类型 /// 来创建相应数据库的参数对象 /// /// public static IDbDataParameter CreateDbParameter() { IDbDataParameter param = null; switch () { case VER: param = new SqlParameter(); break; case : param = new OracleParameter(); break; case : param = new OleDbParameter(); break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return param; } /// /// 根据配置⽂件中所配置的数据库类型 /// 和传⼊的参数来创建相应数据库的参数数组对象 /// /// public static IDbDataParameter[] CreateDbParameters(int size) { int i = 0; IDbDataParameter[] param = null; string a = ng(); switch () { case VER: param = new SqlParameter[size]; while (i < size) { param[i] = new SqlParameter(); i++; } break; case : param = new OracleParameter[size]; while (i < size) { param[i] = new OracleParameter(); i++; } break; case : param = new OleDbParameter[size]; while (i < size) { param[i] = new OleDbParameter(); i++; } break; default: throw new Exception("数据库类型⽬前不⽀持!"); } return param; } } /// /// 根据配置⽂件中所配置的数据库类型 /// 来创建相应数据库的事物对象 /// /// public static IDbTransaction CreateDbTransaction() { IDbConnection conn = CreateDbConnection(tionString); if ( == ) { (); } return ransaction(); } }}