lovenjoy的专栏
Choose What you like,Like what you Choose!
登录
注册
全站
当前博客
空间
博客
好友
相册
留言
用户操作
[即时聊天]
[发私信]
[加为好友]
lovenjoy
ID:lovenjoy
共
3153
次访问,排名
2万外
好友
0
人,关注者
0
人
lovenjoy的文章
原创 31 篇
翻译 0 篇
转载 2 篇
评论 1 篇
最近评论
mldstk:
wow power leveling
文章分类
收藏
相册
图片
存档
2008年06月(2)
2008年05月(3)
2008年03月(1)
2008年01月(2)
2007年12月(2)
2007年11月(6)
2007年10月(7)
2007年09月(10)
软件项目交易
订阅我的博客
SqlServerHelper.cs数据库操作
收藏
新一篇: 养老保险
|
旧一篇: 向DataSet中追加列
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Data.SqlClient;
using
System.Data;
using
System.Collections;
using
System.Collections.Specialized;
using
System.Drawing;
using
System.IO;
namespace
BasicAppClass
...
{
public
enum
SqlExceptionType
...
{
UniqueKey
=
1
,
//
重复键
ForeignKey
=
2
//
外键
}
public
class
SqlServerHelper
...
{
//
数据库连接字符串
private
static
string
connectionString
=
"
Data Source=192.168.1.51;initial catalog=NBSM_ERP;user id=sa;password=haike;Connect Timeout=30;min pool size=15;max pool size=2000
"
;
IniOperation io
=
new
IniOperation(
"
Sys_File.ini
"
);
//
private static string connectionString = "Data Source=.\SQLExpress;AttachDbFilename=D:\慈溪神马\NBSM_ERP.mdf;Integrated Security=True;User Instance=True";
//
公用连接
private
static
SqlConnection connection;
//
错误代码
private
static
int
ErrorCode
=
-
1
;
private
void
SetConnectString()
...
{
io.IniReadValue(
"
SQLCONNECTSTRING1
"
,
"
IP
"
);
connectionString
=
"
Data Source=192.168.1.51;initial catalog=NBSM_ERP;user id=sa;password=haike;Connect Timeout=30;min pool size=15;max pool size=2000
"
;
}
/**/
///
<summary>
///
创建公用连接
///
</summary>
///
<returns></returns>
private
static
void
GetConnection()
...
{
connection
=
new
SqlConnection(connectionString);
if
(connection.State
!=
ConnectionState.Open)
connection.Open();
}
/**/
///
<summary>
///
关闭公用连接
///
</summary>
private
static
void
CloseConnection()
...
{
if
(connection.State
==
ConnectionState.Open)
connection.Close();
}
/**/
///
<summary>
///
执行查询语句,返回DataSet对象
///
</summary>
///
<param name="SQLString">
查询语句
</param>
///
<returns>
DataSet
</returns>
public
static
DataSet Query(
string
SQLString)
...
{
GetConnection();
DataSet ds
=
new
DataSet();
try
...
{
if
(connection.State
!=
ConnectionState.Open)
connection.Open();
SqlDataAdapter command
=
new
SqlDataAdapter(SQLString, connection);
command.Fill(ds,
"
ds
"
);
CloseConnection();
}
catch
(System.Data.SqlClient.SqlException ex)
...
{
throw
new
Exception(ex.Message);
}
return
ds;
}
/**/
///
<summary>
///
执行存储过程,返回DataSet对象
///
</summary>
///
<param name="SQLString">
查询语句
</param>
///
<returns>
DataSet
</returns>
public
static
DataSet Query(
string
StoredProcedureStr, SqlParameter[] parameters)
...
{
GetConnection();
DataSet ds
=
new
DataSet();
try
...
{
if
(connection.State
!=
ConnectionState.Open)
connection.Open();
SqlDataAdapter command
=
new
SqlDataAdapter(StoredProcedureStr, connection);
command.SelectCommand.CommandType
=
CommandType.StoredProcedure;
foreach
(SqlParameter parameter
in
parameters)
...
{
command.SelectCommand.Parameters.Add(parameter);
}
command.Fill(ds,
"
ds
"
);
CloseConnection();
}
catch
(System.Data.SqlClient.SqlException ex)
...
{
throw
new
Exception(ex.Message);
}
return
ds;
}
/**/
///
<summary>
///
执行SQL语句,返回影响的记录数
///
</summary>
///
<param name="SQLString">
SQL语句
</param>
///
<returns>
影响的记录数,若有异常则返回错误代码
</returns>
public
static
int
ExecuteSql(
string
SQLString)
...
{
GetConnection();
using
(SqlCommand cmd
=
new
SqlCommand(SQLString, connection))
...
{
try
...
{
if
(connection.State
!=
ConnectionState.Open)
connection.Open();
int
rows
=
cmd.ExecuteNonQuery();
CloseConnection();
return
rows;
}
catch
(System.Data.SqlClient.SqlException E)
...
{
CloseConnection();
if
(E.Number
==
2627
)
//
重复键
...
{
throw
new
Exception(SqlExceptionType.UniqueKey.ToString());
}
else
if
(E.Number
==
547
)
//
外键
...
{
throw
new
Exception(SqlExceptionType.ForeignKey.ToString());
}
else
...
{
throw
new
Exception(E.Message);
}
return
ErrorCode;
}
}
}
/**/
///
<summary>
///
执行存储过程,返回影响的记录数
///
</summary>
///
<param name="SQLString">
SQL语句
</param>
///
<returns>
影响的记录数,若有异常则返回错误代码
</returns>
public
static
int
ExecuteStoredProcedure(
string
StoredProcedureStr, SqlParameter[] parameters)
...
{
GetConnection();
using
(SqlCommand cmd
=
new
SqlCommand(StoredProcedureStr, connection))
...
{
try
...
{
if
(connection.State
!=
ConnectionState.Open)
...
{
connection.Open();
}
foreach
(SqlParameter parameter
in
parameters)
...
{
cmd.Parameters.Add(parameter);
}
cmd.CommandType
=
CommandType.StoredProcedure;
int
rows
=
cmd.ExecuteNonQuery();
CloseConnection();
return
rows;
}
catch
(System.Data.SqlClient.SqlException E)
...
{
CloseConnection();
if
(E.Number
==
2601
)
//
重复键
...
{
throw
new
Exception(SqlExceptionType.UniqueKey.ToString());
}
else
...
{
throw
new
Exception(E.Message);
}
return
ErrorCode;
}
}
}
/**/
///
<summary>
///
执行多条SQL语句,实现数据库事务。
///
</summary>
///
<param name="SQLStringList">
多条SQL语句
</param>
public
static
void
ExecuteSqlTran(ArrayList SQLStringList)
...
{
GetConnection();
if
(connection.State
!=
ConnectionState.Open)
connection.Open();
SqlCommand cmd
=
new
SqlCommand();
cmd.Connection
=
connection;
SqlTransaction tx
=
connection.BeginTransaction();
cmd.Transaction
=
tx;
try
...
{
for
(
int
n
=
0
; n
<
SQLStringList.Count; n
++
)
...
{
string
strsql
=
SQLStringList[n].ToString();
if
(strsql.Trim().Length
>
1
)
...
{
cmd.CommandText
=
strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
CloseConnection();
}
catch
(System.Data.SqlClient.SqlException E)
...
{
tx.Rollback();
throw
new
Exception(E.Message);
}
}
/**/
///
<summary>
///
向数据库里插入图像格式的字段
///
</summary>
///
<param name="sql">
SQL语句
</param>
///
<param name="path">
图像路径
</param>
///
<returns>
影响的记录数
</returns>
public
static
int
imgToDB(
string
sql,
string
path)
...
{
//
参数sql中要求保存的imge变量名称为@fs
FileStream fs
=
File.OpenRead(path);
byte
[] imageb
=
new
byte
[fs.Length];
fs.Read(imageb,
0
, imageb.Length);
fs.Close();
GetConnection();
SqlCommand com3
=
new
SqlCommand(sql, connection);
com3.Parameters.Add(
"
@fs
"
, SqlDbType.Image).Value
=
imageb;
try
...
{
GetConnection();
int
rows
=
com3.ExecuteNonQuery();
CloseConnection();
return
rows;
}
catch
(System.Data.SqlClient.SqlException E)