Newly written a universal database access class (C #); supports OLEDB / SQL / ORACLE / ODBC data connection, providing Sysbase, DB2 interface support, if there is anything wrong, comments, suggestions. Please contact me yu_nan88@126.comhttp: //mail.gongyi.gov.cn/netdisk/download.php user=zhaobin@gongyi.gov.cn&id=2712a90f0de399014bfbea6e697381a3&filename=L7mk1/cvTXlQRE8ucmFy&language=gb After not fully tested:? Test code: Using system.collections; using system.io;
Using nunit.framework; uspdo.dataaccess;
A summary description of Namespace DataAccessTest {///
[Setup] public void setup () {dba = new dataAccessor (); dba.connectString = "proviker = SQLOLEDB; DATA SOURCE = 10.10.25.63; Initial Catalog = Master; user ID = zha; password = 123;"; DBA. ConnectType = MyPDO.ConnectType.OleDbDataDriver; DBA.Open (); Assert.IsTrue (DBA.IsOpen, "DBA closed");} [Test] public void ExecuteNonQueryTest () {Hashtable hsTable = new Hashtable (); hsTable.Add ( "A", "select * from myfiles"); DBA. Assert.istrue (DBA.isopen, "DBA Closed"); if (dba.isopen == true) {dba.executenonquery (hstable);}}} Public void getDataSettest () {system.data.datarated ds = new system.data.dataset (); assert.isopen, "dba closed"); if (dba.isopen == true) {dba.commandtext = "Select * from myfiles"; ds = dba.getdata ();}} [test] public void getDataTableTest () {assert.istrue (dba.isopen, "dba closed"); if (dba.isopen == true) { DBA.Commandtext = "Select * from myfiles"; system.data.DataTable DTS = DBA.Getdata Table ();}} [test] public void getDatareadert () {assert.istrue (DBA.isopen, "DBA Closed"); if (dba.isopen == true) {dba.commandtext = "select * from myfiles"; System.Data.idaReader DTReader = dba.getdatarader (); dtreader.close ();}} [test] public void executeCommandtest () {assert.isopen, "dba closed"); if (dba.isopen = = true) {dba.commandtext = "select * from myfiles"; dba.executeCommand (false);
}} [Test] public void SetCommandParametersTest () {System.Data.OleDb.OleDbParameter parms = new System.Data.OleDb.OleDbParameter (); parms.ParameterName = "@path"; parms.OleDbType = System.Data.OleDb. OleDbType.VarChar; parms.Size = 255; parms.SourceColumn = "path"; parms.Value = "222"; System.Data.OleDb.OleDbParameter parms1 = new System.Data.OleDb.OleDbParameter (); parms1.ParameterName = "@fname"; parms1.oledbtype = system.data.oledb.oledbtype.varchar; Parms1.Size = 255; Parms1.SourceColumn = "fname"; PARMS1.VALUE = "1";
Mypdo.dataaccess.DataAccessor DBA = New DataAccessor (); dba.connectString = "provike = SQLOLEDB; DATA SOURCE = 10.10.25.63; Initial Catalog = Master; user ID = zha; password = 123;"; dba.open (); IF (dba.isopen == true) {dba.commandtext = "SELECT * from myfiles where path =? and fname =?"; dba.setcommandparameter (PARMS, FALSE); DBA.SETCOMMANDPARAMETER (PARMS1, FALSE); System.Data .Dataset ds = dba.getdata (); assert.arequal (1, ds.tables [0] .Rows.count); dba.close ();}} [TEST] public void AlluSTest () {this.executeCommandtest () ; this.ExecuteNonQueryTest (); this.GetDataReaderTest (); this.GetDataReaderTestWithParamBlob (); this.GetDataReaderTestWithParamString (); this.GetDataSetTest (); this.GetDataTableTest (); this.SetCommandParametersTest ();} [Test] public void GetDataReaderTestWithParamString () {System.data.oledb.oledbParameter PARMS = new system.data.oledb.oledbParameter (); PARMS.PARAMETERNAME = "@path"; //parms.oledbtype = system.d Ata.oledb.oledbtype.varchar; //parms.size = 255; //parms.sourceColumn = "path"; PARMS.VALUE = "eeee"; system.Data.Oledb.oledbParameter Parms1 = new system.data.oledb. OLEDBPARETER (); PARMS1.PARAMETERNAME = "@fname"; //parms1.oledbtype = system.data.oledb.oledbtype.varchar; //parms1.size = 255; //parms1.SourceColumn = "fname"; Parms1.Value = "1";
Assert.istrue (DBA.CommandText = "SELECT * from myfiles where path =? And fname =?"; Dba.setcommandparameter (Parms, false); dba.setcommandparameter (Parms1, False ); System.data.idatareader dtreader = dba.getdatareader (); dtreader.read (); string strpath = dtreader.getstring (0); assert.Areequal ("eeee", strpath); dtreader.close ();}} [Test] public void GetDataReaderTestWithParamBlob () {System.Data.OleDb.OleDbParameter parms = new System.Data.OleDb.OleDbParameter (); parms.ParameterName = "@path"; //parms.OleDbType = System.Data.OleDb. OLEDBTYPE.NUMERIC; //parms.size = 8; //parms.sourceColumn = "c"; PARMS.Value = 999; system.data.oledb.oledbParameter Parms1 = new system.data.oledb.oledbParameter (); PARMS1. ParameterName = "@fname"; //parms1.oledbtype = system.data.oledb.oledbtype.binary; //parms1.size = 16; //parms1.SourceColumn = "a"; PARMS1.VALUE = GetPhoto (@ "C : /a.jpg "); //parms1.value =" 1111111 1111111111111 "
//System.data.oledb.oledbParameter Parms2 = new system.data.oledb.oledbparameter ()
Assert.istrue (DBA.isopen, "DBA Closed"); {dba.commandtext = "Insert INTO TEST (C, A) Values (Convert (Money, I),"
//Dba.commandtext = "INSERT INTO MyFiles (Path, FNAME) VALUES (?,?)"; Dba.setcommandparameter (PARMS, FALSE); DBA.SETCOMMANDPARETER (PARMS1, FALSE);
DBA.ExecuteCommand (true);}} public static byte [] GetPhoto (string filePath) {FileStream fs = new FileStream (filePath, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader (fs); byte [] photo = Br.Readbytes ((int) fs.length);
Br.close (); fs.close ();
return photo;} [Test] public void ExecuteStoredProcedureTestOneValue () {if (DBA.IsOpen == true) {DBA.CommandText = "exec get_2 '222'"; object j = DBA.ExecuteStoredProcedure (MyPDO.StoredProcedureType.OneValue); string s = (string) J; assert.areequal ("222", s);}} [test] public void executestoredProceduRetestnone () {if (dba.isopen == true) {dba.commandtext = "exec get_2 '222'" ; object s = DBA.ExecuteStoredProcedure (MyPDO.StoredProcedureType.None); Assert.AreEqual (null, s);} else Assert.AreEqual (null, "1");} [Test] public void ExecuteStoredProcedureTestDataSet () {if (DBA .Isopen == true) {dba.commandtext = "exec get_2 'ddddd'"; Object S = dba.executestoredProcedure (mypdo.storedProceduRETYPE.DATASET);
System.Data.DataSet DS = (System.Data.DataSet) S;
IF (ds.tables.count> 0) {system.data.dataable dt = new system.data.dataable (); dt = ds.tables [0]; int str = dt.rows.count; assert.Areequal (3 , Str); Else Assert.Arequal (NULL, "S");} else assert.Arequal (null, "1");}}}