我经常用的方法是用DAO连接Access
具体方法是
1、先添加DAO的引用
2、定义全局变量
public DAO.Database myDb
DAO.Workspace myWs
public DAO.Recordset myRec
DAO.DBEngine de = new DAO.DBEngineClass()
3、自己定义一个打开数据库的函数,以便自己调用
public void OpenDb(String sql)
{
string dbStr
dbStr = "c:\\钟山亮.mdb"//数据库的路径
myWs = de.Workspaces[0]
myDb = myWs.OpenDatabase(dbStr, null, null, null)
myRec = myDb.OpenRecordset(sql, DAO.RecordsetTypeEnum.dbOpenDynaset,
DAO.RecordsetOptionEnum.dbDenyWrite,
DAO.LockTypeEnum.dbOptimistic)
}
4、打开数据库
string sql="select * from myTb"//书写你自己的SQL语句
OpenDb(sql)
while (!myRec.EOF)//遍历记录 {
myRec.MoveNext()
}
myRec.Close()
myDb.Close()
伏=伏=毫伏=微伏。测量电压的仪表是:电压表,它
using Systemusing System.Data
using System.Configuration
using System.Linq
using System.Web
using System.Web.Security
using System.Web.UI
using System.Web.UI.HtmlControls
using System.Web.UI.WebControls
using System.Web.UI.WebControls.WebParts
using System.Xml.Linq
using System.Data.SqlClient
using System.Xml
/// <summary>
///SqlOperation 的摘要说明
/// </summary>
public class SqlOperation
{
string DataServerName
string DataDataBaseName
string DataUid
string DataPwd
string strerror
int intcount
public SqlOperation()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
//连接数据库
private SqlConnection MySqlConn(string server,string database,string uid,string pwd)
{
try
{
return new SqlConnection("Server="+server+"Database="+database+"Uid="+uid+"Pwd="+pwd)
}
catch
{
return null
}
}
//执行查询select
public DataSet MySelect(string SqlLg)
{
GetDataInfo()
SqlConnection conn = MySqlConn(DataServerName, DataDataBaseName, DataUid, DataPwd)
try
{
conn.Open()
SqlCommand mycommand = new SqlCommand(SqlLg, conn)
mycommand.CommandType = CommandType.Text
SqlDataAdapter myadapter = new SqlDataAdapter()
myadapter.SelectCommand = mycommand
DataSet mydataset = new DataSet()
myadapter.Fill(mydataset)
return mydataset
}
catch(Exception e)
{
strerror = e.Message
return null
}
finally
{
if(conn.State!=ConnectionState.Closed)
{
conn.Close()
}
}
}
//更新、删除、插入通用函数
public bool UDI(string SqlLg)
{
GetDataInfo()
SqlConnection conn = MySqlConn(DataServerName, DataDataBaseName, DataUid, DataPwd)
try
{
conn.Open()
SqlCommand mycommand = new SqlCommand(SqlLg, conn)
mycommand.CommandType = CommandType.Text
intcount = mycommand.ExecuteNonQuery()
return !(intcount <1)
}
catch(Exception e)
{
strerror = e.Message
return false
}
finally
{
if(conn.State!=ConnectionState.Closed)
{
conn.Close()
}
}
}
//获取数据库连接信息
private void GetDataInfo()
{
XmlDocument xml = new XmlDocument()
xml.Load(System.Web.HttpContext.Current.Server.MapPath(@"App_Data\config.xml"))
XmlNodeList list = xml.SelectSingleNode("root").ChildNodes
DataServerName = list[0].InnerText
DataDataBaseName = list[1].InnerText
DataUid = list[2].InnerText
DataPwd = list[3].InnerText
}
}
给你一个我用JAVA写的一个数据库来连接类可以对数据进行查询、更新、插入和删除等
package conn.sql.date
import java.sql.*
public class DataOperator
{
private final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"// 连接sql数据库的方法:驱动
// private final String DRIVER="com.mysql.jdbc.Driver"//连接mysql数据库方法
//private final String DRIVER="sun.jdbc.odbc.JdbcOdbcDriver"//连接aacess,用jdbc-odbc桥方法,现在基本不用
private final String URL = "jdbc:sqlserver://localhost:1433DatabaseName=RegUser"//路径
//private final String URL="jdbc:mysql://localhost:3306/test"
//private final String URL="jdbc:odbc:mydata"
//private final String USERNAME = "sa"
private final String USERNAME="sa"//用户名
//private final String PASSWORD = "sa"
private final String PASSWORD="123"//密码
private Connection conn = null
public DataOperator()
{
try
{
Class.forName(DRIVER).newInstance()// 加载数据库驱动
} catch (Exception ex)
{
System.out.println("加载数据库驱动失败!")
System.out.println(ex.toString())
}
}
public boolean creatConnection()
{// 用来创建数据库连接
boolean isCreated = true// 默认创建成功
try
{
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD)// 创建数据库连接
}
catch (SQLException e)
{
isCreated = false// 创建失败
}
return isCreated// 返回创建情况
}
public boolean executeUpdate(String sql)
{// 用来插入、修改和删除记录
boolean isUpdate = true// 默认执行成功
if (conn == null)
creatConnection()
try
{
Statement stmt = conn.createStatement()
stmt.executeUpdate(sql)
}
catch (SQLException e)
{
System.out.println(e.toString())
isUpdate = false// 执行失败
}
return isUpdate// 返回执行情况
}
public ResultSet executeQuery(String sql) {// 用来查询记录
ResultSet rs = null
if (conn == null)
creatConnection()
try
{
Statement stmt = conn.createStatement()
rs = stmt.executeQuery(sql)
}
catch (SQLException e) {
e.printStackTrace()
}
return rs// 返回查询结果集
}
public void closeConnection()
{// 用来关闭数据库连接
if (conn != null)
{
try
{
conn.close()
}
catch (SQLException e)
{
e.printStackTrace()
} finally {
conn = null
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)