一个实训练习,有关于连接access数据库,需要创建一个关于数据库连接的类
我不会的,都有注释的,如果我自己写的地方有错误也希望能帮我改改,会的帮我看看,是关于access数据库的,谢谢了!class DBhelp
{
OleDbConnection cn;
OleDbCommand cm;
OleDbDataReader dr;
OleDbDataAdapter da;
public DBhelp()//构造函数
{
cn=new OleDbConnection();//创建OleDbConnection实例
cn.Open();//打开连接
}
public OleDbCommand CM(string sqlstr)//定义一个用于创建OleDbCommand的方法
{
cm = new OleDbCommand();//创建OleDbCommand实例
cm.Connection = cn;//设置连接属性
cm.CommandText = sqlstr;//设置命令文本属性
return sqlstr;//返回命令对象
}
public OleDbDataReader DR()//定义一个用于创建OleDbDataReader的方法
{
//调用命令对象的方法,用于获得OleDbDataReader实例
//返回OleDbDataReader实例
}
public OleDbDataAdapter DA(string sqlstr)//定义一个用于创建OleDbDataReader的方法
{
//创建OleDbDataAdapter实例
//返回OleDbDataAdapter实例
}
public void CLO()//定义一个用户关闭连接的方法
{
cn.Close();
}
}
我不会的,都有注释的,如果我自己写的地方有错误也希望能帮我改改,会的帮我看看,是关于access数据库的,谢谢了!class DBhelp
{
OleDbConnection cn;
OleDbCommand cm;
OleDbDataReader dr;
OleDbDataAdapter da;
public DBhelp()//构造函数
{
cn=new OleDbConnection();//创建OleDbConnection实例
cn.Open();//打开连接
}
public OleDbCommand CM(string sqlstr)//定义一个用于创建OleDbCommand的方法
{
cm = new OleDbCommand();//创建OleDbCommand实例
cm.Connection = cn;//设置连接属性
cm.CommandText = sqlstr;//设置命令文本属性
return sqlstr;//返回命令对象
}
public OleDbDataReader DR()//定义一个用于创建OleDbDataReader的方法
{
//调用命令对象的方法,用于获得OleDbDataReader实例
//返回OleDbDataReader实例
}
public OleDbDataAdapter DA(string sqlstr)//定义一个用于创建OleDbDataReader的方法
{
//创建OleDbDataAdapter实例
//返回OleDbDataAdapter实例
}
public void CLO()//定义一个用户关闭连接的方法
{
cn.Close();
}
}
解决方案 »
- 关于OracleDataAdapter update方法的用法
- 用C#作的程序JAVA的手机怎用。
- 问个自定义的带边框的Panel,关于Panel大小变化后原边框没有清除的问题
- c#怎么隐藏一个excel表的列?
- [C#]如何让窗口最小化到系统托盘(右下角的小图标)???
- 何用sqlCommand控件查询数据
- 急!如何通过拖动鼠标实现Panel控件滚动条的滚动
- smartphone C# drawString时如何控制文字的行距啊???100分啦
- 急事求高手~~~做好的UserControl,把它拖到Form上去时,出错: 创建组件失败,System.NullReferenceException:未将对象引用设置到对象的实例
- DataGrid是否可以两行显示一条记录??(即A字段在N行B字段显示在N+1行.)
- 数据查找 算法问题
- 关于timer的问题
cn.Open();//打开连接
你这样写,连设置连接字符串的机会都没有,运行不就报错了?
cn.Open();//打开连接
你这样写,连设置连接字符串的机会都没有,运行不就报错了?
{
if (textBox1.Text == "") errorProvider1.SetError(textBox1, "不能为空!");
else errorProvider1.Clear();
if (textBox2.Text == "") errorProvider1.SetError(textBox2, "密码不能为空!");
if(textBox1.Text!=""&&textBox2.Text!="")
{
bool b;
Data dt=null;
OleDbCommand cm=null;
OleDbDataReader dr=null;
try
{
dt= //创建Data实例
cm= //创建command实例 dr= //创建datareader实例
b=dr.Read(); //读第一条记录
while(b)
{
if()//输入密码和数据库中的密码相同
{
Form2 zct=new Form2();
//保存用户名于静态成员中(在前面定义过两个静态公有成员,用于储存用户名和权限)
//保存密码于静态成员中
zct.Show();
this.Hide();
break;
}
//读取下一条记录
}
if( )
//没有该用户或密码错误
{
MessageBox.Show("登陆有误!","提示");
}
catch(Exception ex)
{
MessageBox.Show("登陆有误!","提示");
}
finally
{
dr.Close();
//关闭连接
先要有连接数据库的字符串才能进行表操作啊!
比如:
public string Source = "Server=(local);integrated security=SSPI;DataBase=(数据库名称)";
SqlConnection conn = new SqlConnection(Source);
SqlCommand cmd = new SqlCommand(str, conn);
cmd...
LZ第一次上CSDN吗?怎么贴的代码这么乱啊,不会贴??
看第一眼就眼花了,不过还是看到一点问题。
就是判断语句里的,很大个漏洞啊,试下这样写吧:
string.IsNullOrEmpty(textBox1.Text.Trim())
using System.Data;
using System.Data.OleDb;
namespace Power_AppCode
{
public class DataBase
{
// 连接数据源
private OleDbConnection conn = null;
/// <summary>
/// 数据源
/// </summary>
/// <param name="conStr">数据源连接字符串</param>
public DataBase(string conStr)
{
conn = new OleDbConnection(conStr);
}
/// <summary>
/// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL
/// </summary>
/// <param name="sql">查询语句</param>
/// <returns>DataSet</returns>
public DataSet GetDataSet(string sql)
{
DataSet ds = new DataSet();
try
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.CommandTimeout = 20;
System.Data.OleDb.OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(ds, "tempTable");
}
catch (Exception e)
{
ds = null;
}
finally
{
this.Close();
}
return ds;
}
/// <summary>
/// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL
/// </summary>
/// <param name="sql">查询语句</param>
/// <param name="sRecord">开始记录数</param>
/// <param name="mRecord">最大记录数</param>
/// <returns>DataSet</returns>
public DataSet GetDataSet(string sql, int sRecord, int mRecord)
{
DataSet ds = new DataSet();
try
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.CommandTimeout = 20;
System.Data.OleDb.OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(ds, sRecord, mRecord, "tempTable");
}
catch (Exception e)
{
ds = null;
}
finally
{
this.Close();
}
return ds;
}
/// <summary>
/// 对数据库的增,删,改的操作
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns>是否成功</returns>
public bool ExecuteDataBase(string sql)
{
bool succeed = false;
int cnt = 0;
try
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.CommandTimeout = 20;
if (this.Open())
cnt = cmd.ExecuteNonQuery();
}
catch (Exception e)
{
e.ToString();
}
finally
{
if (cnt > 0)
{
succeed = true;
}
this.Close();
}
return succeed;
}
/// <summary>
/// 获得该SQL查询返回的第一行第一列的值,如果没有查询到则返回NULL
/// </summary>
/// <param name="sql">查询语句</param>
/// <returns>返回的第一行第一列的值</returns>
public string GetScalar(string sql)
{
string str = null;
try
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
if (this.Open())
str = cmd.ExecuteScalar().ToString();
}
catch (Exception e)
{
e.ToString();
}
finally
{
this.Close();
}
return str;
} /// <summary>
/// 获得该SQL查询返回DataTable,如果没有查询到则返回NULL
/// </summary>
/// <param name="sql">查询语句</param>
/// <returns></returns>
public DataTable GetDataTable(string sql)
{
DataTable tb = null;
DataSet ds = this.GetDataSet(sql);
if (ds != null)
{
tb = ds.Tables["tempTable"];
}
return tb;
}
/// <summary>
/// 打开数据库连接.
/// </summary>
private bool Open()
{
bool succeed = false;
try
{
if (conn.State == System.Data.ConnectionState.Closed)
{
conn.Open();
succeed = true;
}
else if (conn.State == System.Data.ConnectionState.Broken)
{
conn.Close();
conn.Open();
succeed = true;
}
else if(conn.State == System.Data.ConnectionState.Open)
{
succeed = true;
}
}
catch(Exception e)
{
e.ToString();
}
return succeed;
}
/// <summary>
/// 关闭数据库连接
/// </summary>
public void Close()
{
if (conn != null)
{
conn.Close();
}
}
/// <summary>
/// 释放数据库连接资源
/// </summary>
public void Dispose()
{
if (conn != null)
{
conn.Dispose();
conn = null;
}
}
}
}
Imports System.IOModule CommonDB
Dim DBConn As OleDb.OleDbConnection
Dim strConnection As String
Dim SqlCmd As OleDb.OleDbCommand
Dim strSql As String
Dim h_Adapter As OleDb.OleDbDataAdapter Public Sub DBConnection()
' GetConnStrProfile():从配置文件读取数据库连接字符串,方法略
'strConnection = GetConnStrProfile()
strConnection = GetXmlParam("db-config")
DBConn = New OleDb.OleDbConnection(strConnection)
Try
DBConn.Open()
Catch ex As Exception End Try
End Sub Public Sub DBDisConnection()
DBConn.Close()
DBConn = Nothing
End Sub
Public Sub GetDataFromDB(ByVal strSql As String, ByVal ds As DataSet, ByVal TableName As String)
SqlCmd = New OleDb.OleDbCommand(strSql, DBConn)
h_Adapter = New OleDb.OleDbDataAdapter(SqlCmd)
h_Adapter.Fill(ds, TableName) End Sub Public Function ExecuteDB(ByVal strSql As String) As Boolean
SqlCmd = New OleDb.OleDbCommand(strSql, DBConn)
If SqlCmd.ExecuteNonQuery() > 1 Then
Return True
End If End FunctionEnd Module