虽然已经凌晨0:16了,但我还很兴奋啊!不为别的,今天的课程终于讲到了对我来说比较新鲜的与数据库相关的控件:checkboxlist!
兴奋不已的看着老师将代码打完、运行,立刻动手自己尝试一番。
建立APP_CODE目录,新建类DB,生成DB.cs,加入代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/// <summary>
/// DB 的摘要说明
/// </summary>
public class DB
{
public DB()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static SqlConnection createConnection()
{
SqlConnection con = new SqlConnection("server=.:database=test;uid=;pwd=;");
return con;
}
}
果然不可能一帆风顺的让我得手: (
出现错误:
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
我用的是MySQL建立的数据库,看来不能这么建立连接啊~
再次感谢父母生我养我让我赶上网络时代,一搜索ASP.NET连接MySQL,一下就让我搜到了完美的答案:
就在咱们博客园http://runfeng.cnblogs.com/archive/2005/08/11/212358.html
马上到www.mysql.com 下载一个mysql-connector-net-5.0.2-beta.zip安装试试看 : )
修改代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MySql.Data.MySqlClient;
/// <summary>
/// DB 的摘要说明
/// </summary>
public class DB
{
public DB()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static MySqlConnection createConnection()
{
MySqlConnection con = new MySqlConnection("server=.:database=test;uid=;pwd=;");
return con;
}
}
没有仔细阅读文章,没有引用库,开始就找不到数据接口,唉~。
还是不行啊,伤心啊,出现错误Unable to connect to any of the specified MySQL hosts
再次求教网络众英雄。。。。。。
最终参照MySql.Data help,修改代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MySql.Data.MySqlClient;
/// <summary>
/// DB 的摘要说明
/// </summary>
public class DB
{
public DB()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static MySqlConnection createConnection()
{
MySqlConnection con = new MySqlConnection("Database=test;Data Source=localhost;User Id=root;Password=");
return con;
}
}
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MySql.Data.MySqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MySqlConnection myConnection = DB.createConnection();
myConnection.Open();
MySqlCommand myCommand = new MySqlCommand("select * from like", myConnection);
MySqlDataReader myReader = myCommand.ExecuteReader();
this.CheckBoxList1.DataTextField = "habit";
this.CheckBoxList1.DataValueField = "id";
this.CheckBoxList1.DataSource = myReader;
this.CheckBoxList1.DataBind();
myReader.Close();
myConnection.Close();
}
}
没有出现无法连接特定数据库的错了,可是也不能让我得意啊,又添新的问题:
#42000You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like' at line 1
MY~GOD
果然一接触数据库就够恶心啊~
坚持~坚持~
功夫不负有心人啊,让我到MySql控制台的SQL查询窗口输入SQL命令才发现,原来like是SQL的关键字,我作为表名字当然要出错啦,哈哈
改为aihao,这下就通了,热烈庆祝一下~~~~~
不过读出来的在网页上的数据库数据中文却是乱码。。。。。。这五关过的,当年关羽肯定没有我现在这么头疼。
我忍~~
不懈努力寻找答案,原来是MySql版本支持中文的问题。换上新的MySql就可以了 : )
当然安装的时候和创建数据库及表的时候要选好gb2312字库哦