数据库的连接问题!!

cwb210 2008-11-17 10:44:53
OleDbConnection aConnection = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db1.mdb);

OleDbCommand aCommand = new OleDbCommand(select * from emp_test, aConnection);
try
{
aConnection.Open();

OleDbDataReader aReader = aCommand.ExecuteReader();
Console.WriteLine(This is the returned data from emp_test table);
while(aReader.Read())
{
Console.WriteLine(aReader.GetInt32(0).ToString());
}

// 我想问下这部分是做什么的,我看了很多资料都不是很明白,而且资料都不一样的,
aReader.Close();

aConnection.Close();
}


就是红的部分的工作原理是什么?还有,我要是有个表m_datab,怎么连接保存到数据库?
...全文
80 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cwb210 2008-11-17
  • 打赏
  • 举报
回复
先谢谢各位大大,我想再问下,我要是有个表m_datab怎么让其与数据库连接起来呢?
其实这是我最不明白的地方,
chaye12 2008-11-17
  • 打赏
  • 举报
回复
看3楼的解释吧,很正确!!
dahai99007 2008-11-17
  • 打赏
  • 举报
回复
红色的部分就是执行你那个command的吗,也就是Select * from ...;
如果读到的话,把你读到的第一列(0开始数)转换string输出。
在这看你的表中第一列应该为int型的。
给你个例子参考下:
private void btnInputMarcateFile_Click(object sender, EventArgs e)
{
openFileDialogOne.AddExtension = true;
openFileDialogOne.CheckFileExists = true;
openFileDialogOne.CheckPathExists = true;
openFileDialogOne.DefaultExt = "*.*";
openFileDialogOne.FileName = "";
if (openFileDialogOne.ShowDialog(this)==DialogResult.OK)
{
System.IO.FileStream fs = new System.IO.FileStream(this.openFileDialogOne.FileName, System.IO.FileMode.Open);
byte[] fileByte = new byte[fs.Length];
System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
fileByte = br.ReadBytes(Convert.ToInt32(fs.Length));
int lastSplit = 0;
fs.Close();

lastSplit= this.openFileDialogOne.FileName.LastIndexOf('\\');
this.openFileDialogOne.FileName= this.openFileDialogOne.FileName.Substring(lastSplit + 1);

string sqlconn = "data source=.;database=bfbc;uid=sa;pwd=sa";
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(sqlconn);
conn.Open();
string sqlStament = "insert into DemarcateRelatingDocument(DemarcateFile,FileName,VehicleConfigureDocument,InputUser,InputTime,EcuFactoryId,Other,Edition) values(@1,@2,@3,@4,@5,@6,@7,@8)";
System.Data.SqlClient.SqlCommand cdm = new System.Data.SqlClient.SqlCommand(sqlStament, conn);
cdm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@1", fileByte));
cdm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@2", this.openFileDialogOne.FileName));
cdm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@3", DateTime.Now.ToLongDateString()));
cdm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@4", "Dahai"));
cdm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@5",DateTime.Now.ToString()));
cdm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@6","WFCYFDJZZC"));
cdm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@7", "无说明信息"));
cdm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@8", 2));
int rtnInt = 0;
rtnInt= cdm.ExecuteNonQuery();
if (rtnInt>0)
{
MessageBox.Show("写入成功!");
}
else
{
MessageBox.Show("写入失败!");
}
conn.Close();
}
}
af龙行天下 2008-11-17
  • 打赏
  • 举报
回复
说得对
hornbills 2008-11-17
  • 打赏
  • 举报
回复


//定义一个DataReader从数据库读数据用
OleDbDataReader aReader = aCommand.ExecuteReader();

//在控制台输出字符串
Console.WriteLine(This is the returned data from emp_test table);

//如果能读到数据
while(aReader.Read())
{

//控制台输出资料行序数为0的值
Console.WriteLine(aReader.GetInt32(0).ToString());
}
hao1hao2hao3 2008-11-17
  • 打赏
  • 举报
回复
循环读出你的SQL语句查询到的值啊while里面的条件(也就是有数据读出)成立就一直输出。
cpio 2008-11-17
  • 打赏
  • 举报
回复
OleDbDataReader aReader = aCommand.ExecuteReader();
得到一个DataReader,它是用于访问数据的。

while(aReader.Read()) //移动到下一行,每Read一次就往前移一行,如果返回false表示已经到了最后一行
{
//把当前行第1列的值取出来,数据库中第1列是整数,所以用GetInt32(0),再用ToString转成字符串
Console.WriteLine(aReader.GetInt32(0).ToString());
}

你用MSDN看看OleDbDataReader的帮助吧
cwb210 2008-11-17
  • 打赏
  • 举报
回复
恩 谢谢了
whitechololate 2008-11-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 cwb210 的回复:]
先谢谢各位大大,我想再问下,我要是有个表m_datab怎么让其与数据库连接起来呢?
其实这是我最不明白的地方,
[/Quote]
楼主问的很模糊,表加到库里,手动添加吗?还是从其他库里导出个表到本库?
dahai99007 2008-11-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 cwb210 的回复:]
先谢谢各位大大,我想再问下,我要是有个表m_datab怎么让其与数据库连接起来呢?
其实这是我最不明白的地方,
[/Quote]
表与数据库怎么连接?
5楼的代码就是连接数据库,并往表中写入一条记录呀!

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧