1 第一次遇到MySQL数据库的BUG,晕翻>_<,害得我调试半天,原来是MYSQL把中文的“读”和“多”当成相同的字符串了,真是烂货数据库。。。
2 后来才搞清楚,是MySQl的字符编码设置的问题,搞了一上午和一下午,发现要改:
(1在my.ini处的2处都要改为default character set,
(2建的所有的表都要在最后加上default charset = gbk,
(3 string useGBK = "set names gbk";//成功调试必备的
DBComm = new MySQLCommand(useGBK, DBConn);
DBComm.ExecuteNonQuery();
3 一些常用的MySQLConnection 的函数集
static void Main(string[] args)
{
string sqlstr = "select * from manavatar";
MySQLConnection DBConn = new MySQLConnection(new MySQLConnectionString("192.168.0.13", "flashdata", "root", "root", 3306).AsString);
DBConn.Open();
//MySQLDataAdapter myadap = new MySQLDataAdapter(sqlstr, conn);
MySQLCommand DBComm = new MySQLCommand(sqlstr,DBConn);
MySQLDataReader DBReader = DBComm.ExecuteReaderEx(); //DBComm.ExecuteReaderEx();
MySQLDataAdapter DTAdapter = new MySQLDataAdapter(sqlstr,DBConn);
DataSet myDataSet = new DataSet();
DTAdapter.Fill(myDataSet,"manavatar");
try
{
while (DBReader.Read())
{
//Console.WriteLine("11");
Console.WriteLine("DBReader:{0},\t\t\tddddd:{1},\t\t {2}",DBReader.GetString(0), DBReader.GetString(1),DBReader.GetString(3));
}
Console.WriteLine("0000");
}
catch (Exception e)
{
Console.WriteLine("读入失败!"+e.ToString());
}
finally
{
Console.WriteLine("DBReader关闭");
Console.WriteLine("DBConn关闭");
DBReader.Close();
//DBConn.Close();
}
for (int i = 0; i < myDataSet.Tables["manavatar"].Rows.Count; i++)
{
Console.WriteLine("{0}",myDataSet.Tables["manavatar"].Rows[2]["user"]);
}
}
这是一个简单的例子。
在这里有个问题:dataset如果没设主键的话,可能会引起一些对数库操作的问题,比如会造成updata出现错误。
4 项目中导入了一个开源的DLL,MySQLDriverCS,他对C#调用MySQL做了很好的封装
5出现了诡异的语句INSERT INTO dic VALUES('/|\','军事20',9,1,0.181818181818182);
主要'/|\'是转义字符,暂时没有很好的解决方法
5 如果要调用generic 的Sort方法,必须实现CompareTo接口。这个接口有一个叫CompareTo(object)方法,如果“this”大于、小于 ...
如果想使用Array等的Find方法,必须重载Equals()方法,因为任何类都是继承Object类的。
6 无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
--------------------------------------------------------------------------------
名称以无效字符开头。处理资源 'http://localhost/Asp.net/Default.aspx' 时出错。第 1 行,位置: 2
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
===================
解决办法:运行vs2005命令行(开始、所有程序、vs2005、tools,写得不准确),之后找到.net2.0的路径,我的是在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727,之后运行aspnet_regiis.exe /i,就ok了。
(待续)
2007年5月16日星期三
订阅:
博文评论 (Atom)
没有评论:
发表评论