c#连接sqlserver数据库、插入数据、从数据库获取时间示例
发布时间:2024-01-16 02:13:53
c#连接sqlserver、插入数据、从数据库获取时间
using System;
using System.Data.SqlClient;
namespace Test
{
//连接数据库
public class Connection
{
private static string connectionString =
"Server = 192.168.1.222;" +
"Database = Test;" +
"User ID = Test;" +
"Password = abc123;";
/// <summary>
/// 连接数据库
/// </summary>
/// <returns></returns>
private SqlConnection ConnectionOpen()
{
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
return conn;
}
/// <summary>
/// 向表(Table)中插入一条数据
/// </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>
/// 从数据库中获取当前时间
/// </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示例
/*
* 说明
* 功能说明:数据访问封装。所有数据都要通过这个类定义的dbConnection访问数据库。
* 同时,定义了通用的cmd,以及cmd常用的访问存储过程的方法RunPro
*
* 作者: RogerWang
*
* 创建日期: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";
//判断要不要启动事务
private bool startrans = false;
//为解决多笔数据导入的问题,特添加的事务处理属性
private SqlTransaction trans = null;
//定义是否启动事务属性
public bool StartTrans
{
get
{
return startrans;
}
set
{
startrans = value;
}
}
//定义事务
public SqlTransaction Trans
{
get
{
return trans;
}
set
{
if (value != null)
{
trans = value;
}
}
}
//创建打开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;
}
}
}
//
//创建cmd,注意dbconnection在该函数中创建,但没有在这函数中释放。
//在正确的面向对象设计方法中,对象应该是谁创建,谁就应该负责释放。按这个观点,这个过程有些不安全!!!!
private SqlCommand CreateCommand(string ProName,SqlParameter[] prams)
{
OpenConnection();
SqlCommand cmd = new SqlCommand(ProName,dbConnection);
cmd.CommandType = CommandType.StoredProcedure;
//如果进行事务处理,那么对cmd的Transaction的事务赋值
if (StartTrans)
{
cmd.Transaction = Trans;
}
if ( prams != null)
{
foreach(SqlParameter parameter in prams)
{
cmd.Parameters.Add(parameter);
}
}
//cmd.Parameters.Add(
return cmd;
}
/// <summary>
/// 创建cmd,并执行相应的操作。 然后释放cmd!
///
/// 该函数是执行cmd没有返回值,且没有参数的方法。
/// </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>
/// 创建cmd,并执行相应的操作。 然后释放cmd!
///
/// 该函数是执行cmd没有返回值,但有参数的方法。
/// </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>
/// 创建cmd,并执行相应的操作。 然后释放cmd!
///
/// 该函数是执行cmd带有返回值,但没有参数的方法。
/// </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>
/// 创建cmd,并执行相应的操作。 然后释放cmd!
///
/// 该函数是执行cmd带有返回值,且有参数的方法。
/// </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>
/// 创建cmd的参数
/// 该方法的思路就是按条件生成一个SqlParameter对象。
/// 生成对象后,再给对象赋相应的返回值类型
/// </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>
/// 创建cmd的输入参数
/// </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>
/// 创建cmd的输出参数
/// </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>
/// 创建cmd带有返回值的参数
/// </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);
}
//开始一个事务
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();
}
}
}
}


猜你喜欢
- 前奏为了能操作数据库, 首先我们要有一个数据库, 所以要首先安装Mysql, 然后创建一个测试数据库python_test用以后面的测试使用
- 什么是事务事务就是一组操作的集合,事务将整组操作作为一个整体,共同提交或者共同撤销这些操作只能同时成功或者同时失败,成功即可提交事务,失败就
- eval()函数eval() 函数用来执行一个字符串表达式,并返回表达式的值。语法eval(expression[, globals[, l
- 前言最近在学习python,学习到了一个之前没接触过的--特殊方法。什么是特殊方法?当我们在设计一个类的时候,python中有一个用于初始化
- 最近在pythonTip做题的时候,遇到了deque模块,以前对其不太了解,现在特此总结一下deque模块是python标准库collect
- 导言在前两章的做的DataList的例子里我们都是使用单列的HTML<table>来显示数据.而自定义使DataList将数据显
- 自动化测试执行的用例有很多,python额测试用例文件,都是以“test”开头的。TestLoader(defaultTestLoader)
- 目录普通分页查询如何优化偏移量大采用id限定方式优化数据量大问题普通分页查询当我们在日常工作中遇到大数据查询的时候,第一反应就是使用分页查询
- 我们知道,TCP是面向连接流传输的,其采用Nagle算法,在缓冲区对上层数据进行了处理。避免触发自动分片机制和网络上大量小数据包的同时也造成
- 本文介绍Python3使用PyMySQL连接数据库,并实现简单的增删改查。什么是PyMySQL?PyMySQL是Python3.x版本中用于
- 获取百度的歌曲名,歌手和链接!! package webTools; import java.io.BufferedReader; impo
- 经纬度坐标转换最常见办法就是调用第三方 API,例如百度、高德地图等服务平台,提供了相应的功能接口,它们的这类技术已经非常成熟啦,准确稳定,
- 前言相信我,只要记住本文的 7️⃣ 步口诀,就能彻底掌握 JS 中的 this 指向。先念口诀:箭头函数、new、bind、apply 和
- 在客户端请求的时候增加了自定义的http头,请求如下所示: 自定义http请求头var_dump(getallheaders);一
- 如下所示:import numpy as np arr = [1,2,3,4,5,6]#求均值arr_mean = np.mean(arr)
- 本文实例为大家分享了tensorflow神经网络实现mnist分类的具体代码,供大家参考,具体内容如下只有两层的神经网络,直接上代码#引入包
- 本文实例讲述了python写入xml文件的方法。分享给大家供大家参考。具体分析如下:本范例通过xml模块对xml文件进行写入操作from x
- 初识defaultdict之前在使用字典的时候, 用的比较随意, 只是简单的使用dict.然而这样在使用不存在的key的时候发生KeyErr
- 前言SQL Server开发过程中,为了传入数据集类型的变量(比如接受C#中的DataTable类型变量),需要定义“用户自定义表类型”,通
- 首先,看看本文所面向的应用场景:我们有一个数据集df,现在想统计数据中某一列每个元素的出现次数。这个在我们前面文章《如何画直方图》中已经介绍