如何利用2007版的Access链接SQL数据库

如何利用2007版的Access链接SQL数据库,第1张

public static class AccessHelper

{

//数据库连接字符串

public static readonly string conn ="Provider=Microsoft.Jet.OLEDB.4.0Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath+System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString

// 用于缓存参数的HASH表

private static Hashtable parmCache = Hashtable.Synchronized(newHashtable())

/// <summary>

/// 给定连接的数据库用假设参数执行一个sql命令(不返回数据集)

/// </summary>

/// <param name="connectionString">一个有效的连接字符串</param>

/// <param name="commandText">存储过程名称或者sql命令语句</param>

/// <param name="commandParameters">执行命令所用参数的集合</param>

///<returns>执行命令所影响的行数</returns>

public static int ExecuteNonQuery(string connectionString, stringcmdText, params OleDbParameter[] commandParameters)

{

OleDbCommand cmd = new OleDbCommand()

using (OleDbConnection conn = new OleDbConnection(connectionString))

{

PrepareCommand(cmd, conn, null, cmdText, commandParameters)

int val = cmd.ExecuteNonQuery()

cmd.Parameters.Clear()

return val

}

}

/// <summary>

/// 用现有的数据库连接执行一个sql命令(不返回数据集)

/// </summary>

/// <remarks>

///举例:

/// int result =ExecuteNonQuery(connString, "PublishOrders", newOleDbParameter("@prodid", 24))

/// </remarks>

/// <param name="conn">一个现有的数据库连接</param>

/// <paramname="commandText">存储过程名称或者sql命令语句</param>

/// <param name="commandParameters">执行命令所用参数的集合</param>

/// <returns>执行命令所影响的行数</returns>

public static int ExecuteNonQuery(OleDbConnection connection, stringcmdText, params OleDbParameter[] commandParameters)

{

OleDbCommand cmd = new OleDbCommand()

PrepareCommand(cmd, connection, null, cmdText, commandParameters)

int val = cmd.ExecuteNonQuery()

cmd.Parameters.Clear()

return val

}

/// <summary>

///使用现有的SQL事务执行一个sql命令(不返回数据集)

/// </summary>

/// <remarks>

///举例:

/// int result =ExecuteNonQuery(trans, "PublishOrders", newOleDbParameter("@prodid", 24))

/// </remarks>

/// <param name="trans">一个现有的事务</param>

/// <param name="commandText">存储过程名称或者sql命令语句</param>

/// <param name="commandParameters">执行命令所用参数的集合</param>

/// <returns>执行命令所影响的行数</returns>

public static int ExecuteNonQuery(OleDbTransaction trans, stringcmdText, params OleDbParameter[] commandParameters)

{

OleDbCommand cmd = new OleDbCommand()

PrepareCommand(cmd, trans.Connection, trans, cmdText,commandParameters)

int val = cmd.ExecuteNonQuery()

cmd.Parameters.Clear()

return val

}

/// <summary>

/// 用执行的数据库连接执行一个返回数据集的sql命令

/// </summary>

/// <remarks>

/// 举例:

/// OleDbDataReader r =ExecuteReader(connString, "PublishOrders", newOleDbParameter("@prodid", 24))

/// </remarks>

/// <param name="connectionString">一个有效的连接字符串</param>

/// <param name="commandText">存储过程名称或者sql命令语句</param>

/// <param name="commandParameters">执行命令所用参数的集合</param>

/// <returns>包含结果的读取器</returns>

public static OleDbDataReader ExecuteReader(string connectionString,string cmdText, params OleDbParameter[] commandParameters)

{

//创建一个SqlCommand对象

OleDbCommand cmd = new OleDbCommand()

//创建一个SqlConnection对象

OleDbConnection conn = new OleDbConnection(connectionString)

//在这里我们用一个try/catch结构执行sql文本命令/存储过程,因为如果这个方法产生一个异常我们要关闭连接,因为没有读取器存在,

//因此commandBehaviour.CloseConnection 就不会执行

try

{

//调用 PrepareCommand 方法,对 SqlCommand 对象设置参数

PrepareCommand(cmd, conn, null, cmdText, commandParameters)

//调用 SqlCommand 的ExecuteReader 方法

OleDbDataReader reader =cmd.ExecuteReader(CommandBehavior.CloseConnection)

//清除参数

cmd.Parameters.Clear()

return reader

}

catch

{

//关闭连接,抛出异常

conn.Close()

throw

}

}

/// <summary>

/// 返回一个DataSet数据集

/// </summary>

/// <param name="connectionString">一个有效的连接字符串</param>

/// <param name="cmdText">存储过程名称或者sql命令语句</param>

/// <param name="commandParameters">执行命令所用参数的集合</param>

/// <returns>包含结果的数据集</returns>

public static DataSet ExecuteDataSet(string connectionString, stringcmdText, params OleDbParameter[] commandParameters)

{

//创建一个SqlCommand对象,并对其进行初始化

OleDbCommand cmd = new OleDbCommand()

using (OleDbConnection conn = new OleDbConnection(connectionString))

{

PrepareCommand(cmd, conn, null, cmdText, commandParameters)

//创建SqlDataAdapter对象以及DataSet

OleDbDataAdapter da = new OleDbDataAdapter(cmd)

DataSet ds = new DataSet()

try

{

//填充ds

da.Fill(ds)

// 清除cmd的参数集合

cmd.Parameters.Clear()

//返回ds

return ds

}

catch

{

//关闭连接,抛出异常

conn.Close()

throw

}

}

}

登录终端,输入以下命令:

mysqldump

-u

用户名

-p

--quick

数据库名

|

gzip

>

数据库名.gz

这样一个数据库就备份到数据库名.gz中了。

在终端提示符下输入命令:

shell>

mysqladmin

create

数据库名

shell>

gunzip

<

数据库名.gz

|

mysql

-u

用户名

-p

db_name

就可以恢复数据库。

1、打开代码窗口,添加引用:Imports System.Data.SqlClient。

2、输入以下代码:

“Public conn1  As SqlConnection = New SqlConnection _

("server=192.168.1.79Initial Catalog= studentUser ID= panqePWD=shentai768@")”,vb就已经成功连接sql数据库了。

3、代码详解:声明关键字Public(因为是全局变量,所以用Public 来声明)。

4、连接参数。

5、如果SQL 数据库就在本机,则用以下代码连接:

("server=.Integrated Security=FalseInitial Catalog= studentUser ID= panqePWD=shentai768@")。

6:如果代码太长,影响可读性,可以用空格加"_"后,回车换行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6937009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存