ASP.NET与MySql的连接——数据库访问操作
1.读出方式
DataReader和DataSet都可以实现对数据库数据的查询返回,但前者只能提供快速的查询方式,后者还可以实现对数据的添加、修改、删除功能。
(1)DataReader方式读取:
string sConnString = "server=localhost;User Id=root;password=root;Persist Security Info=True;database=db_user";
MySqlConnection myConn = new MySqlConnection(sConnString);
myConn.Open();
string myCmd = "select * from login_user where User_Name='" + users + "' and User_Pwd='" + pwd + "'";
MySqlCommand mycm = new MySqlCommand(myCmd, myConn);
MySqlDataReader msdr = mycm.ExecuteReader();
(2)DataSet方式读取:
string sConnString = "Server=127.0.0.1;Port=3306;Database=db;Uid=user;Pwd=123;";
MySqlConnection myConn = new MySqlConnection(sConnString);
myConn.Open();
MySqlDataAdapter myAdapter = new MySqlDataAdapter("SELECT * from table n;",myConn);
DataSet ds = new DataSet();
myAdapter.Fill(ds);
dataGridView1.DataSource = ds.Tables[0].DefaultView;
2.MySqlCoomand的方法
(1)ExecuteNoQuery()——SQL语句执行后不返回任何值
(2)ExecuteScalar()——SQL语句执行后不返回任何值,返回查询结果集中第一行第一列的数据值
(3)ExecuteReader()——SQL语句执行后返回多行结果数据
3.如何判断读出的读出的数据是否为空
(1)DataReader是否为空
if (msdr.Read())//msdr非空
(2)DataSet是否为空
if(ds == null)//ds为空
if(ds.Tables.Count == 0)//ds中没有表
if(ds.Tables.Count == 1 && ds.Tables[0].Rows.Count == 0)//ds中的表没有数据
相关文档:
Asp.net中实现页面跳转的三种方法比较,现在总结如下:
1 Response.Redirect
这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!Redirect跳转机制:首先是发送一个ht ......
乱码真是个令人讨厌的问题~
刚才终于把MySQL与JSP交互的乱码问题解决了。
办法如下:
1.在url处加上句子 "&useUnicode=true&characterEncoding=GBK" ;
2.我用Navicat Lite可视化工具创建MySQL数据库时,可选定数据库编码,也是 GBK ;
3.页面的编码可以选GBK以外的编码方式,如UTF-8。若操作页面的编码是UTF- ......
mysql编码应注意的环节:
这几个环节编码都统一了,一般不会出现乱码。BTW:
可以用SET NAMES x临时设置mysql编码:
相当于
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;
如:
mysql_query("SET NAMES 'gb2312'") or die("Query failed : " . mysql_er ......
protected void Page_Load(object sender, EventArgs e)
{
/*
sql脚本-创建学生表
create table student(id int,name varchar(50))
......
private bool IsPicture(string filePath)//filePath是文件的完整路径
{
try
......