Recently wrote a common database access Class (C #)
Last Update:2017-02-28
Source: Internet
Author: User
Access to | data | The database has recently written a common database access Class (C #); Supports OLEDB\SQL\ORACLE\ODBC data connections.
Provides SYSBASE,DB2 interface support,
If there are any mistakes, opinions, suggestions. Please contact me yu_nan88@126.com
Http://mail.gongyi.gov.cn/netdisk/download.php?user=zhaobin@gongyi.gov.cn&id= 2712a90f0de399014bfbea6e697381a3&filename=l7mk1/cvtxlqre8ucmfy&language=gb
After incomplete testing:
Test code:
Using System;
Using System.Collections;
Using System.IO;
Using Nunit.framework;
Using Mypdo.dataaccess;
Namespace Dataaccesstest
{
<summary>
Summary description of the CLASS1.
</summary>
[Testfixture]
public class Dataaccesstest
{
Public Dataaccesstest ()
{
//
TODO: Add constructor logic here
//
}
Private MyPDO.DataAccess.DataAccessor DBA;
[SetUp]
public void SetUp ()
{
DBA = new Dataaccessor ();
Dba. ConnectString = "Provider=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);
}
}
[Test]
public void Getdatasettest ()
{
System.Data.DataSet ds = new System.Data.DataSet ();
Assert.istrue (DBA. IsOpen, "DBA closed");
if (DBA). IsOpen = = True)
{
Dba.commandtext = "SELECT * from Myfiles";
ds = DBA. GetDataSet ();
}
}
[Test]
public void Getdatatabletest ()
{
Assert.istrue (DBA. IsOpen, "DBA closed");
if (DBA). IsOpen = = True)
{
Dba.commandtext = "SELECT * from Myfiles";
System.Data.DataTable DTS = DBA. Getdatatable ();
}
}
[Test]
public void Getdatareadertest ()
{
Assert.istrue (DBA. IsOpen, "DBA closed");
if (DBA). IsOpen = = True)
{
Dba.commandtext = "SELECT * from Myfiles";
System.Data.IDataReader dtreader = DBA. Getdatareader ();
Dtreader.close ();
}
}
[Test]
public void Executecommandtest ()
{
Assert.istrue (DBA. 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 = "Provider=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. GetDataSet ();
Assert.AreEqual (1,ds. Tables[0]. Rows.Count);
Dba. Close ();
}
}
[Test]
public void Allusetest ()
{
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.Data.OleDb.OleDbType.VarChar;
Parms. Size = 255;
Parms. SourceColumn = "path";
Parms. Value = "Eeee";
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";
Assert.istrue (DBA. IsOpen, "DBA closed");
{
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 = "111111111111111111111";
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,?),?)";
Dba.commandtext = "INSERT INTO Myfiles (path,fname) VALUES (?,?)";
Dba. Setcommandparameter (Parms,false);
Dba. Setcommandparameter (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.DataTable dt = new System.Data.DataTable ();
DT = ds. Tables[0];
int str = dt. Rows.Count;
Assert.AreEqual (3,STR);
}
Else
Assert.AreEqual (NULL, "s");
}
Else
Assert.AreEqual (NULL, "1");
}
}
}
Author blog:http://blog.csdn.net/yu_nan88/