C#實作連接配接資料庫
一、Oracle
查詢
public static DataTable QueryData()
{
DataTable dtResult = new DataTable();
try
{
using (OracleConnection oc = new OracleConnection(HttpContext.Current.Session["DBName"].ToString().Trim()))
{
oc.Open();
string sql = @" SELECT * FROM DUAL
";
OracleDataAdapter oaCmd = new OracleDataAdapter(sql, oc);
//oaCmd.SelectCommand.Parameters.Add("fDate", OracleType.VarChar, 50).Value = DateTime.Now.ToString("yyyy/MM/dd") + " " + "00:00:00";
//oaCmd.SelectCommand.Parameters.Add("eDate", OracleType.VarChar, 50).Value = DateTime.Now.ToString("yyyy/MM/dd") + " " + "23:59:59";
oaCmd.Fill(dtResult);
oc.Close();
}
}
catch (Exception ex)
{
}
return dtResult;
}
更新
public static void DoInser(string login_user, string login_db)
{
try
{
//string strDBXMLFile = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath.ToString()) + @"\DB.XML";
//DataSet dsXML = new DataSet();
//dsXML.ReadXml(strDBXMLFile);
//DataTable dtAEPDB = dsXML.Tables["DB_NAME"];
//DB 連結
string s = "Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ip位址 )(PORT =端口)))(CONNECT_DATA = (SID=SID号)(SERVER = DEDICATED)));uid = 使用者名; password=密碼;Connection Lifetime=60;Max Pool Size=50;Min Pool Size=0;Pooling=true";
using (OracleConnection oc = new OracleConnection(s))
{
oc.Open();
string sql = @" INSERT INTO 表名
(欄位1, 欄位2, 欄位3,....)
VALUES
(欄位1值, 欄位2值, 欄位3值, ....)
";
OracleCommand oaCmd = new OracleCommand(sql, oc);
//oaCmd.Parameters.Add("參數", OracleType.VarChar, 30).Value = "";
oaCmd.CommandType = CommandType.Text;
oaCmd.ExecuteNonQuery();
oc.Close();
}
}
catch (Exception ex)
{
}
}
二、SQLServer
public static DataTable QueryData()
{
DataTable dtResult = new DataTable();
try
{
using (SqlConnection sqlConnection = new SqlConnection(HttpContext.Current.Session["DBName"].ToString().Trim()))
{
sqlConnection.Open();
string sql = @" SELECT * FROM DUAL
";
SqlDataAdapter sqlDa = new SqlDataAdapter(sql, sqlConnection);
sqlDa.SelectCommand.Parameters.Add("fDate", SqlDbType.VarChar, 50).Value = DateTime.Now.ToString("yyyy/MM/dd") + " " + "00:00:00";
sqlDa.SelectCommand.Parameters.Add("eDate", SqlDbType.VarChar, 50).Value = DateTime.Now.ToString("yyyy/MM/dd") + " " + "23:59:59";
sqlDa.Fill(dtResult);
sqlConnection.Close();
}
}
catch (Exception ex)
{
}
return dtResult;
}
public static void DoInser(string login_user, string login_db)
{
try
{
string s = "資料庫連結";
using (SqlConnection sqlConnection = new SqlConnection(s))
{
sqlConnection.Open();
string sql = @" INSERT INTO 表名
(欄位1, 欄位2, 欄位3,....)
VALUES
(欄位1值, 欄位2值, 欄位3值, ....)
";
SqlDataAdapter sqlDa = new SqlDataAdapter(sql, sqlConnection);
sqlDa.InsertCommand.Parameters.Add("參數", SqlDbType.VarChar, 30).Value = "";
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
sqlConnection.Close();
}
}
catch (Exception ex)
{
}
}
工具類
public DataTable ExecuteQuery(string sqlStr) //用于查詢;其實是相當于提供一個可以傳參的函數,到時候寫一個sql語句,存在string裡,傳給這個函數,就會自動執行。
{
SqlConnection con = new SqlConnection("MySqlCon");
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr;
DataTable dt = new DataTable();
SqlDataAdapter msda;
msda = new SqlDataAdapter(cmd);
msda.Fill(dt);
con.Close();
return dt;
}
public int ExecuteUpdate(string sqlStr) //用于增删改;
{
SqlConnection con = new SqlConnection("MySqlCon");
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr;
int iud = 0;
iud = cmd.ExecuteNonQuery();
con.Close();
return iud;
}
本文來自部落格園,作者:農碼一生,轉載請注明原文連結:https://www.cnblogs.com/wml-it/p/15148239.html
技術的發展日新月異,随着時間推移,無法保證本部落格所有内容的正确性。如有誤導,請大家見諒,歡迎評論區指正! 個人開源代碼連結: GitHub:https://github.com/ITMingliang
Gitee:https://gitee.com/mingliang_it
GitLab:https://gitlab.com/ITMingliang
進開發學習交流群: