标题:C#与Access怎么连啊???(我是新手)
只看楼主
606liutong
Rank: 2
等 级:论坛游民
威 望:2
帖 子:740
专家分:94
注 册:2006-10-9
结帖率:100%
 问题点数:0 回复次数:10 
C#与Access怎么连啊???(我是新手)



数据库的名字是"学生db1.mdb", 字段分为“学号”“密码”.......
如果名字,密码与数据库中的相同,则进入Form2中,否则 MessageBox1.show("错误!")
而且输入错误超过三次,则系统Close(),

由于是新手,所以难住我了,查了一个星期的书也没有结果。
在这里,拜托各位大大了

搜索更多相关主题的帖子: Access 
2006-11-29 17:42
IT浪子
Rank: 4
来 自:Nyist
等 级:贵宾
威 望:13
帖 子:402
专家分:20
注 册:2006-11-24
得分:0 

不用这么费事,百度一下就完全搞定了,


你不能让所有人都满意,因为不是所有人都是人!
2006-11-29 18:39
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + Application.StartupPath + "\\学生db1.mdb ;"

飘过~~
2006-11-29 19:48
无风自动
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-10-30
得分:0 
int Num=0;
try{
this.System.Data.OleDb.OleDbConnection OleDBCon = new System.Data.OleDb.OleDbConnection();
this.OleDBCon.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\学生db1.mdb";
this.OleDbCommand OleDbComm = OleDbConn.CreateCommand();
OleDbComm.CommandText = "Select * from Login Where 学号='"+textBox1.text+"'and 密码='"+textBox2.text+"'";

this.OleDBCon.open();
this.System.Data.OleDb.OleDbDataReader OleDBDR = OleDbComm.ExecuteReader();
if(OleDBDR.Read())
{
this.OleDBCon.close();
Form2 MainFrm = new Form2();
this.hide();
MainFrm.ShowDialog();
}
else
{
Num+=1;
textBox1.Clear();
textBox2.Clear();
textBox1.Focus();
MessageBox.Show("学号或密码错误,请重新输入","Error");
}
if (Num >= 3)
{
MessageBox.Show("三次输入错误,程序退出","Error");
Application.Exit();
}

}
catch (Exception e)
{ MessageBox.Show(e.ToString()); }

[此贴子已经被作者于2006-11-29 19:56:29编辑过]

2006-11-29 19:48
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
以下是引用无风自动在2006-11-29 19:48:25的发言:
int Num=0;
try{
this.System.Data.OleDb.OleDbConnection OleDBCon = new System.Data.OleDb.OleDbConnection();
this.OleDBCon.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\学生db1.mdb";
this.OleDbCommand OleDbComm = OleDbConn.CreateCommand();
OleDbComm.CommandText = "Select * from Login Where 学号='"+textBox1.text+"'and 密码='"+textBox2.text+"'";

this.OleDBCon.open();
this.System.Data.OleDb.OleDbDataReader OleDBDR = OleDbComm.ExecuteReader();
if(OleDBDR.Read())
{
this.OleDBCon.close();
Form2 MainFrm = new Form2();
this.hide();
MainFrm.ShowDialog();
}
else
{
num+=1;
}
if (Num >= 3)
{
MessageBox.Show("三次输入错误,程序退出","Error");
Application.Exit();
}

}
catch (Exception e)
{ MessageBox.Show(e.ToString()); }

把Num定义成全局变量. 定义到登陆按钮里面是永远不会达到你的要求的.


飘过~~
2006-11-29 19:54
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
得分:0 
LZ

I 服了YOU


——life is full of ups and downs!
2006-11-29 19:58
舞雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:1786
专家分:0
注 册:2006-10-11
得分:0 
using System.Data;
using System.Oledb;

OledbConnection con = new OledbConnection("Provider=Microsoft.Jet.Oledb.4.0;data source=MyAccess.mdb");

注意MyAccess.mdb要与应用程序在同一目录下,如果应用程序当前目录有个AAA文件夹,而MyAccess.mdb在AAA文件夹下,就要改成AAA\MyAccess.mdb
至于[QUOTE]Application.StartupPath + "\\学生db1.mdb [/QUOTE]
根本用不着,人家Oledb开发小组的项目经理早就想到了,如果你输入绝对路径,程序会按照绝对路径处理,如果是相对路径,程序会按照相对路径处理

呵呵,不愧是BC论坛
2006-11-29 20:01
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
to :舞雪

如果程序有变动,也就是说数据文件转换了位置,是不是你又得重新分配一下数据处理程序???

飘过~~
2006-11-29 20:15
Jerry2006
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-11-30
得分:0 

应该可以在Windows窗体中使用OleDbAdapter进行配置吧?那样是不是比写代码简单?


2006-11-30 11:05
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 

那样是比较简单,但是还是建议你尽量用代码去实现,呵呵.


飘过~~
2006-11-30 11:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-106152-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.074418 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved