你是不是要实现一个数据操作的访问类?
using System;
using MySQLDriverCS;namespace DBConvert.DataAccessLayer
{
/// <summary>
/// 针对Mysql的数据库访问基础
/// </summary>
public class DBE
{
private MySQLDriverCS.MySQLConnection myCn=null;
/// <summary>
/// 构造
/// </summary>
/// <param name="mySqlConnObj">MySQLConnectionString</param>
public DBE(MySQLConnectionString mySqlConnObj)
{
myCn.ConnectionString=mySqlConnObj.AsString;
myCn.Open();
}
public DBE(string sHost,string sDataBase,string sUserID,string sPasswd)
{
myCn=new MySQLConnection(new MySQLConnectionString(sHost,sDataBase,sUserID,sPasswd).AsString);
try
{
myCn.Open();
}
catch(System.Exception ex)
{
System.Console.WriteLine("Ex:"+ex.Message);
}
}
/// <summary>
/// 得到data set
/// </summary>
/// <param name="sSQL">sql</param>
/// <returns></returns>
public System.Data.DataSet GetDataSetBySQL(string sSQL)
{
MySQLDriverCS.MySQLDataAdapter myAD=new MySQLDataAdapter(sSQL,myCn);
System.Data.DataSet tempDs=new System.Data.DataSet();
tempDs.Tables.Clear();
try
{
myAD.Fill(tempDs);
myCn.Close();
}
catch(System.Exception ex)
{
System.Console.WriteLine("[OnError:]"+sSQL+" Type:"+ex.Message);
System.Console.ReadLine();
}
return tempDs;
}
public void DoNonQuery(string sSQL)
{
try
{
MySQLDriverCS.MySQLDataAdapter myAD=new MySQLDataAdapter(sSQL,myCn);
}
catch(System.Exception ex)
{
System.Console.WriteLine("Ex:"+ex.Message);
}
}
}
}
这个类是用于Mysql的
using System;
using MySQLDriverCS;namespace DBConvert.DataAccessLayer
{
/// <summary>
/// 针对Mysql的数据库访问基础
/// </summary>
public class DBE
{
private MySQLDriverCS.MySQLConnection myCn=null;
/// <summary>
/// 构造
/// </summary>
/// <param name="mySqlConnObj">MySQLConnectionString</param>
public DBE(MySQLConnectionString mySqlConnObj)
{
myCn.ConnectionString=mySqlConnObj.AsString;
myCn.Open();
}
public DBE(string sHost,string sDataBase,string sUserID,string sPasswd)
{
myCn=new MySQLConnection(new MySQLConnectionString(sHost,sDataBase,sUserID,sPasswd).AsString);
try
{
myCn.Open();
}
catch(System.Exception ex)
{
System.Console.WriteLine("Ex:"+ex.Message);
}
}
/// <summary>
/// 得到data set
/// </summary>
/// <param name="sSQL">sql</param>
/// <returns></returns>
public System.Data.DataSet GetDataSetBySQL(string sSQL)
{
MySQLDriverCS.MySQLDataAdapter myAD=new MySQLDataAdapter(sSQL,myCn);
System.Data.DataSet tempDs=new System.Data.DataSet();
tempDs.Tables.Clear();
try
{
myAD.Fill(tempDs);
myCn.Close();
}
catch(System.Exception ex)
{
System.Console.WriteLine("[OnError:]"+sSQL+" Type:"+ex.Message);
System.Console.ReadLine();
}
return tempDs;
}
public void DoNonQuery(string sSQL)
{
try
{
MySQLDriverCS.MySQLDataAdapter myAD=new MySQLDataAdapter(sSQL,myCn);
}
catch(System.Exception ex)
{
System.Console.WriteLine("Ex:"+ex.Message);
}
}
}
}
这个类是用于Mysql的
解决方案 »
- c# 用了picturebox-paint重绘事件之后
- asp和asp.net(c#)混合的程序,asp想调用c#里边的一类行不行啊?小弟先感谢了!
- 除了colordialog 还有别的获取颜色的控件么
- 听说利用vpn可以虚拟公网的ip,有没有具体的实例啊
- C# WinForm ListView控件中如何加入其它控件?
- 如何从一个库取出一条记录插入另一个库?
- C# 中如何传递参数给mshtml!
- DropDownList 菜鸟问题 在线等
- 请问,如何列出当前可用的sql服务器?(小弟第一次发贴,请大家多多指教~)
- 哪位朋友能给一个Mp3播放器的源代码?
- 关于DataGrid里面模版列DropDownList数据绑定的问题
- 征求两个数组比较高效算法。
using System.Data;
using System.Data.OleDb;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
using System.Web;
using System.Web.Services;namespace myWebService
{
/// <summary>
/// myWS 的摘要说明。
/// </summary>
public class myWS : System.Web.Services.WebService
{
public String connStr = "Provider=\"OraOLEDB.Oracle\";User ID=YANFA;Password=YANFA;Data Source=SCGL;";
public String connStr_MSDAORA = "Provider=\"MSDAORA.1\";User ID=YANFA;Data Source=SCGL;Password=YANFA";
public Boolean myConnFlag;
public OleDbConnection myConn;
public OleDbCommand myCommand;
public DataSet myDataSet;
public OleDbDataReader myDataReader;
public System.Data.DataTable myDataTable;
public OleDbDataAdapter myDataAdapter;
public OleDbCommandBuilder myCommandBuilder; public myWS()
{
//CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的
InitializeComponent();
}
#region 组件设计器生成的代码
//Web 服务设计器所必需的
private IContainer components = null;
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if(disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
#endregion #region 打开数据库连接
public void dbOpen()
{
myConn = new OleDbConnection(connStr);
myConn.Open();
}
#endregion #region 关闭数据库连接
public void dbClose()
{
myConn.Close();
}
#endregion #region 获得OleDbDataReader对象
public OleDbDataReader GetReader(string str_Sql)
{
dbOpen();
myCommand = new OleDbCommand(str_Sql,myConn);
try
{
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
return myDataReader;
}
#endregion #region [WebMethod] 测试数据库是否连通
[WebMethod]
public bool dbConnect()
{
myConnFlag=false;
try
{
myConn = new OleDbConnection(connStr);
myConn.Open();
String strSql="select column_name from cols where table_name='oracle_connect_test'";
myCommand=new OleDbCommand(strSql,myConn);
myCommand.ExecuteNonQuery();
myConnFlag=true;
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
myConn.Close();
}
return myConnFlag;
}
#endregion #region [WebMethod] 直接执行SQL语句
[WebMethod]
public bool ExecSql(string str_Sql)
{
dbOpen();
myCommand = new OleDbCommand(str_Sql,myConn);
try
{
myCommand.ExecuteNonQuery();
return true;
}
catch(Exception e)
{
Console.WriteLine("操作失败,原因如下:\r\n\r\n"+e.ToString());
return false;
}
finally
{
dbClose();
}
}
#endregion #region [WebMethod] 获得DataSet对象(sql语句,表名)
[WebMethod]
public DataSet GetDs(string str_Sql,string str_Table)
{
dbOpen();
myDataAdapter = new OleDbDataAdapter(str_Sql,myConn);
myDataSet = new DataSet();
myDataAdapter.FillSchema(myDataSet,SchemaType.Source,str_Table);
myDataAdapter.Fill(myDataSet,str_Table);
dbClose(); return myDataSet;
}
#endregion #region [WebMethod] 获得空DataSet对象,只带数据结构(sql语句,表名)
[WebMethod]
public DataSet GetEmpDs(string str_Sql,string str_Table)
{
dbOpen();
myDataAdapter = new OleDbDataAdapter(str_Sql,myConn);
myDataSet = new DataSet();
myDataAdapter.FillSchema(myDataSet,SchemaType.Source,str_Table);
dbClose(); return myDataSet;
}
#endregion #region [WebMethod] 获得空DataSet对象,只带数据结构(sql语句,表名)
[WebMethod]
public DataSet GetTemplateDs(string str_Sql,string str_Table)
{
dbOpen();
myDataAdapter = new OleDbDataAdapter(str_Sql,myConn);
myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet,str_Table);
myDataSet.Tables[0].Rows.Clear();
dbClose(); return myDataSet;
}
#endregion #region [WebMethod] 根据序号得到特定值
[WebMethod]
public string GetValue(string ColumnCode,string TableName,string ColumnName,string TextName)
{
string ValueText="0";
string strSql;
strSql = "select "+ColumnCode+" from "+TableName+" where "+ColumnName+"='"+TextName+"'"; OleDbDataReader myDataReader=GetReader(strSql);
while (myDataReader.Read())
{
ValueText=myDataReader[0].ToString();
}
myDataReader.Close();
dbClose();
return ValueText;
}
#endregion #region [WebMethod] 根据sql得到特定值
[WebMethod]
public string GetSqlValue(string strSql)
{
string ValueText="0"; OleDbDataReader myDataReader=GetReader(strSql);
while (myDataReader.Read())
{
ValueText=myDataReader[0].ToString();
}
myDataReader.Close();
dbClose(); return ValueText;
}
#endregion #region [WebMethod] 得到str_table表str_Id字段最大ID值
[WebMethod]
public int GetMaxId(string str_Id,string str_table)
{
int intMaxId=-1;
string strSql = "select Max("+str_Id+") from "+str_table; OleDbDataReader myDataReader=GetReader(strSql);
while (myDataReader.Read())
{
intMaxId = int.Parse(myDataReader[0].ToString());
}
myDataReader.Close();
dbClose(); return intMaxId;
}
#endregion #region [WebMethod] 根据名称得到对应代码数量
[WebMethod]
public int GetCode(string ColumnCode,string TableName,string ColumnName,string TextName)
{
int Count=-1;
string strSql;
strSql = "select count("+ColumnCode+") from "+TableName+" where "+ColumnName+"='"+TextName+"'"; dbOpen();
OleDbCommand cmd = new OleDbCommand(strSql,myConn);
Count=int.Parse(cmd.ExecuteScalar().ToString());
dbClose(); return Count;
}
#endregion #region [WebMethod] 返回一维字符串组(逗号分隔符)
[WebMethod]
public string getStrGroup(string strSql)
{
String mySql="";
OleDbDataReader myDataReader=GetReader(strSql);
while (myDataReader.Read())
{
mySql+=myDataReader[0].ToString()+",";
}
myDataReader.Close();
dbClose(); if(mySql!="")
{
mySql=mySql.Substring(0,mySql.Length-1);
}
return mySql;
}
#endregion #region [WebMethod] 得到记录数
[WebMethod]
public int GetRsCount(string str_SqlAndWhere)
{
int Count=-1;
string strSql;
strSql = "select count(*) from "+str_SqlAndWhere; dbOpen();
OleDbCommand cmd = new OleDbCommand(strSql,myConn);
strSql=cmd.ExecuteScalar().ToString();
dbClose(); Count = int.Parse(strSql);
return Count;
}
#endregion