c#連接sqlserver數(shù)據(jù)庫、插入數(shù)據(jù)、從數(shù)據(jù)庫獲取時間示例
c#連接sqlserver、插入數(shù)據(jù)、從數(shù)據(jù)庫獲取時間
using System;
using System.Data.SqlClient;
namespace Test
{
//連接數(shù)據(jù)庫
public class Connection
{
private static string connectionString =
"Server = 192.168.1.222;" +
"Database = Test;" +
"User ID = Test;" +
"Password = abc123;";
/// <summary>
/// 連接數(shù)據(jù)庫
/// </summary>
/// <returns></returns>
private SqlConnection ConnectionOpen()
{
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
return conn;
}
/// <summary>
/// 向表(Table)中插入一條數(shù)據(jù)
/// </summary>
public void Insert(string value1, string value2, string value3, DateTime dateTime)
{
SqlConnection conn = ConnectionOpen();
string sql =
"insert into Table(row1, row2, row3, DateTime) values ('" +
value1 + "', '" + value2 + "', '" + value3 + "', '" + dateTime + "')";
SqlCommand comm = new SqlCommand(sql, conn);
comm.ExecuteReader();
conn.Close();
}
/// <summary>
/// 從數(shù)據(jù)庫中獲取當(dāng)前時間
/// </summary>
/// <returns></returns>
public DateTime GetDateTimeFromSQL()
{
SqlConnection conn = ConnectionOpen();
string sql = "select getdate()";
SqlCommand comm = new SqlCommand(sql, conn);
SqlDataReader reader = comm.ExecuteReader();
DateTime dt;
if (reader.Read())
{
dt = (DateTime)reader[0];
conn.Close();
return dt;
}
conn.Close();
return DateTime.MinValue;
}
}
}
c#連接SQL Server 2008示例
/*
* 說明
* 功能說明:數(shù)據(jù)訪問封裝。所有數(shù)據(jù)都要通過這個類定義的dbConnection訪問數(shù)據(jù)庫。
* 同時,定義了通用的cmd,以及cmd常用的訪問存儲過程的方法RunPro
*
* 作者: RogerWang
*
* 創(chuàng)建日期:2006-02-15
*
*/
using System;
using System.Data;
using System.Data.SqlClient;
namespace insurer
{
/// <summary>
/// DataAccess 的摘要說明。
/// </summary>
public class DataAccess
{
private readonly string SQLCONNECTSTR = "server=(local);uid=sa;pwd=lwrong;database=insurer";
private SqlConnection dbConnection;
private readonly string RETUENVALUE = "RETURNVALUE";
//判斷要不要啟動事務(wù)
private bool startrans = false;
//為解決多筆數(shù)據(jù)導(dǎo)入的問題,特添加的事務(wù)處理屬性
private SqlTransaction trans = null;
//定義是否啟動事務(wù)屬性
public bool StartTrans
{
get
{
return startrans;
}
set
{
startrans = value;
}
}
//定義事務(wù)
public SqlTransaction Trans
{
get
{
return trans;
}
set
{
if (value != null)
{
trans = value;
}
}
}
//創(chuàng)建打開dbConnection對象
public void OpenConnection()
{
if ( dbConnection == null )
{
dbConnection = new SqlConnection(SQLCONNECTSTR);
}
if ( dbConnection.State == ConnectionState.Closed )
{
try
{
dbConnection.Open();
}
catch(Exception ex)
{
SystemError.SystemLog(ex.Message);
}
finally
{
}
}
}
//釋放dbConnection對象
public void CloseConnection()
{
if (dbConnection != null)
{
if (dbConnection.State == ConnectionState.Open)
{
dbConnection.Dispose();
dbConnection = null;
}
}
}
//
//創(chuàng)建cmd,注意dbconnection在該函數(shù)中創(chuàng)建,但沒有在這函數(shù)中釋放。
//在正確的面向?qū)ο笤O(shè)計方法中,對象應(yīng)該是誰創(chuàng)建,誰就應(yīng)該負(fù)責(zé)釋放。按這個觀點,這個過程有些不安全!!!!
private SqlCommand CreateCommand(string ProName,SqlParameter[] prams)
{
OpenConnection();
SqlCommand cmd = new SqlCommand(ProName,dbConnection);
cmd.CommandType = CommandType.StoredProcedure;
//如果進(jìn)行事務(wù)處理,那么對cmd的Transaction的事務(wù)賦值
if (StartTrans)
{
cmd.Transaction = Trans;
}
if ( prams != null)
{
foreach(SqlParameter parameter in prams)
{
cmd.Parameters.Add(parameter);
}
}
//cmd.Parameters.Add(
return cmd;
}
/// <summary>
/// 創(chuàng)建cmd,并執(zhí)行相應(yīng)的操作。 然后釋放cmd!
///
/// 該函數(shù)是執(zhí)行cmd沒有返回值,且沒有參數(shù)的方法。
/// </summary>
/// <param name="ProName"></param>
public bool RunProc(string ProName)
{
SqlCommand cmd = CreateCommand(ProName,null);
bool k = false;
try
{
k = (bool)cmd.ExecuteScalar();
}
catch(Exception ex)
{
SystemError.SystemLog(ex.Message);
}
finally
{
cmd.Dispose();
}
return k;
}
/// <summary>
/// 創(chuàng)建cmd,并執(zhí)行相應(yīng)的操作。 然后釋放cmd!
///
/// 該函數(shù)是執(zhí)行cmd沒有返回值,但有參數(shù)的方法。
/// </summary>
/// <param name="ProName"></param>
/// <param name="prams"></param>
public bool RunProc(string ProName,SqlParameter[] prams)
{
SqlCommand cmd = CreateCommand(ProName,prams);
bool k = false;
try
{
k = (bool) cmd.ExecuteScalar();
}
catch(Exception ex)
{
SystemError.SystemLog(ex.Message);
}
finally
{
cmd.Dispose();
//Close();
}
return k;
}
/// <summary>
/// 創(chuàng)建cmd,并執(zhí)行相應(yīng)的操作。 然后釋放cmd!
///
/// 該函數(shù)是執(zhí)行cmd帶有返回值,但沒有參數(shù)的方法。
/// </summary>
/// <param name="ProName"></param>
/// <param name="dataReader"></param>
public void RunProc(string ProName,out SqlDataReader dataReader)
{
SqlCommand cmd = CreateCommand(ProName,null);
dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
try
{
}
catch(Exception ex)
{
SystemError.SystemLog(ex.Message);
}
finally
{
cmd.Dispose();
}
}
/// <summary>
/// 創(chuàng)建cmd,并執(zhí)行相應(yīng)的操作。 然后釋放cmd!
///
/// 該函數(shù)是執(zhí)行cmd帶有返回值,且有參數(shù)的方法。
/// </summary>
/// <param name="ProName"></param>
/// <param name="prams"></param>
/// <param name="dataReader"></param>
public void RunProc(string ProName,SqlParameter[] prams,out SqlDataReader dataReader)
{
SqlCommand cmd = CreateCommand(ProName,prams);
dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
try
{
}
catch(Exception ex)
{
SystemError.SystemLog(ex.Message);
}
finally
{
cmd.Dispose();
}
}
/// <summary>
/// 創(chuàng)建cmd的參數(shù)
/// 該方法的思路就是按條件生成一個SqlParameter對象。
/// 生成對象后,再給對象賦相應(yīng)的返回值類型
/// </summary>
/// <param name="ParamName"></param>
/// <param name="DbType"></param>
/// <param name="size"></param>
/// <param name="direction"></param>
/// <param name="Value"></param>
/// <returns></returns>
public SqlParameter CreateParam(string ParamName, SqlDbType DbType, int size,ParameterDirection direction,object Value)
{
SqlParameter param;
if (size > 0)
{
param = new SqlParameter(ParamName,DbType,size);
}
else
{
param = new SqlParameter(ParamName,DbType);
}
param.Direction = direction;
param.Value = Value;
return param;
}
/// <summary>
/// 創(chuàng)建cmd的輸入?yún)?shù)
/// </summary>
/// <param name="ParamName"></param>
/// <param name="DbType"></param>
/// <param name="size"></param>
/// <param name="Value"></param>
/// <returns></returns>
public SqlParameter CreateInParam(string ParamName, SqlDbType DbType, int size, object Value)
{
return CreateParam(ParamName,DbType,size,ParameterDirection.Input,Value);
}
/// <summary>
/// 創(chuàng)建cmd的輸出參數(shù)
/// </summary>
/// <param name="ParamName"></param>
/// <param name="DbType"></param>
/// <param name="size"></param>
/// <returns></returns>
public SqlParameter CreateOutParam(string ParamName, SqlDbType DbType, int size)
{
return CreateParam(ParamName,DbType,size,ParameterDirection.Output,null);
}
/// <summary>
/// 創(chuàng)建cmd帶有返回值的參數(shù)
/// </summary>
/// <param name="ParamName"></param>
/// <param name="DbType"></param>
/// <param name="size"></param>
/// <returns></returns>
public SqlParameter CreateReturnParam(string ParamName,SqlDbType DbType, int size)
{
return CreateParam(ParamName,DbType,size,ParameterDirection.ReturnValue,null);
}
//開始一個事務(wù)
public void BeginTrans()
{
OpenConnection();
Trans = dbConnection.BeginTransaction(IsolationLevel.Serializable);
}
public void Commit()
{
if (Trans != null)
{
Trans.Commit();
}
}
public void Rollback()
{
if (Trans != null)
{
Trans.Rollback();
}
}
}
}
- C#實現(xiàn)連接SQL Server2012數(shù)據(jù)庫并執(zhí)行SQL語句的方法
- C#編程實現(xiàn)連接SQL SERVER數(shù)據(jù)庫實例詳解
- C#連接到sql server2008數(shù)據(jù)庫的實例代碼
- C#連接SQL Server的實現(xiàn)方法
- C#使用SqlConnection連接到SQL Server的代碼示例
- C#實現(xiàn)異步連接Sql Server數(shù)據(jù)庫的方法
- 關(guān)于C#連接SQL Server時提示用戶登錄失敗的解決方法
- C#連接SQL Server數(shù)據(jù)庫的實例講解
- 使用C#連接SQL?Server的詳細(xì)圖文教程
- C#連接SQL?Sever數(shù)據(jù)庫詳細(xì)圖文教程
相關(guān)文章
C#找不到類型名"SqlConnection"的有效解決方法
最近在使用c#鏈接SqlServer的時候遇到了錯誤,通過查找相關(guān)資料終于解決了,所以下面這篇文章主要給大家介紹了關(guān)于C#找不到類型名"SqlConnection"的有效解決方法,需要的朋友可以參考下2023-02-02C#中DateTimePicker默認(rèn)值顯示為空的問題
這篇文章主要介紹了C#中DateTimePicker默認(rèn)值顯示為空的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06C#彈出對話框確定或者取消執(zhí)行相應(yīng)操作的實例代碼
這篇文章主要介紹了C#彈出對話框確定或者取消執(zhí)行相應(yīng)操作的實例代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12理解C#中參數(shù)的值和引用以及傳遞結(jié)構(gòu)和類引用的區(qū)別
這篇文章主要介紹了理解C#中參數(shù)的值和引用以及傳遞結(jié)構(gòu)和類引用的區(qū)別,文中舉了兩段代碼例子來簡單說明,需要的朋友可以參考下2016-01-01