您的位置:首页 > 数据库 > MySQL

初学C#连接数据库(mysql)的一些积累

2010-07-22 11:05 686 查看
最近项目中需要连接到数据库中,记录下最近学到一些知识。

数据库的连接:

string connStr ="server=localhost;user=root;database=bankbox;port=3306;password=xxxxx";
MySqlConnection conn=new MySqlConnection(connStr);
conn.Open();


对数据库中的数据执行sql语句:

string sql="update 用户信息 set 账号状态='1'where 账号=‘"+textbox.txt+"'";
MysqlCommand mycom = new MySqlCommand(sql, conn);
mycom.ExecuteNonQuery();


其中ExecuteNonQuery()函数的调用就完成了sql语句的执行。 ExecuteNonQuery()这个函数可以让我们在更新数据库时不使用 DataSet 而使用 ExecuteNonQuery 更改数据库中的数据。通过执行 UPDATE、INSERT 或 DELETE SQL语句就可以达到更改数据库中的数据目的。即使 ExecuteNonQuery 不返回任何行,映射到参数的输出参数或返回值仍然使用数据填充。但对于 UPDATE、INSERT 和 DELETE SQL语句,返回的值就是受ExecuteNonQuery()命令影响的行数。对其它类型的语句以及回退来说,返回的值都是 -1。所以在这里就可以通过其返回值判断sql语句是否成功。

对数据库中数据的读取:

string sql="select 账号,类别,密码 from 用户信息 where 账号='"+textbox.text+"'";
MysqlCommand mycom = new MysqlCommand(sql,conn);
MySqlDataReader rd = mycom.ExecuteReader();
if (rd.HasRows)
{
rd.Read();
CsysInfo.CurUser = Convert.ToString(rd[0]);
CsysInfo.Level = Convert.ToInt32(rd[1]);
CsysInfo.CurPw = Convert.ToString(rd[2]);
}
else
{
messsagebox.show("读取数据未成功!");
}


这几行代码就把你所查找的账号类别密码写入到CsysInfo类中去了。ExecuteReader()方法来显示数据是最快的一种方法,当我们只需要一条一条的读数据库中的数据时,不需要回退,该方法能很好的完成这些功能。

在此说明一点:党对数据库进行sql操作时,当没有数据时,ExecuteNonQuery()会报错,对象没有实例化,而ExecuteReader()可以,因此我们可以用ExecuteReader()的read方法来判断数据库中是否存有数据。

怎样在dataGridView空件中显示数据库的内容:

string sql2 = "select * from 用户操作日志 where 账号='"+CsysInfo.CurUser+"'";
conn = new MySqlConnection(connstr);
conn.Open();
myadp = new MySqlDataAdapter(sql2, conn);
myds = new DataSet();
myadp.Fill(myds, "用户操作日志");
bindingSource1.DataSource = myds.Tables["用户操作日志"];
dataGridView1.DataSource = bindingSource1;
MySqlCommandBuilder mycb = new MySqlCommandBuilder(myadp);
myadp.Update(myds, "用户操作日志");


这样就会把相应账号的操作信息显示在dataGridView空间中了。

先写这么多吧,等着用到在慢慢补充......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: