VS C# 项目之间的相互调用问题 编好了项目A,在编项目B时用到项目A,请问怎么调用A
展开全部
我收集的mysql中文问题解决方案大全
把D:\Program Files\MySQL\MySQL Server 5.0\my.ini
中的字符集改成utf8
default-character-set=utf8
然后一定要重启。不然不起作用
.net操作mysql中文字符乱码的问题
作者:yaosansi 日期:2007-08-29
字体大小: 小 中 大
/* 在使用MySql时会遇到中文乱码的问题就此写下面两个函数
* 在写入数据库和从数据库读出时将编码改变
* author:alice
* date :2006/1/25
*/
//写入数据库时进行转换
public string GB2312_ISO8859(string write)
{
//声明字符集
System.Text.Encoding iso8859, gb2312;
//iso8859
iso8859 = System.Text.Encoding.GetEncoding("iso8859-1");
//国标2312
gb2312 = System.Text.Encoding.GetEncoding("gb2312");
byte[] gb;
gb = gb2312.GetBytes(write);
//返回转换后的字符
return iso8859.GetString(gb);
}
//读出时进行转换
public string ISO8859_GB2312(string read)
{
//声明字符集
System.Text.Encoding iso8859,gb2312;
//iso8859
iso8859 = System.Text.Encoding.GetEncoding("iso8859-1");
//国标2312
gb2312 = System.Text.Encoding.GetEncoding("gb2312");
byte[] iso;
iso = iso8859.GetBytes(read);
//返回转换后的字符
return gb2312.GetString(iso);
}
//批量数据转换
//其实就是将dataset的内容读出到xml文件,然后再输出
public DataSet ISO8859_GB2312(DataSet ds)
{
string xml;
xml = ds.GetXml();
ds.Clear();
//声明字符集
System.Text.Encoding iso8859,gb2312;
//iso8859
iso8859 = System.Text.Encoding.GetEncoding("iso8859-1");
//国标2312
gb2312 = System.Text.Encoding.GetEncoding("gb2312");
byte[] bt;
bt = iso8859.GetBytes(xml);
xml = gb2312.GetString(bt);
ds.ReadXml(new System.IO.StringReader(xml));
return ds;
}
在读写的时候将上面的函数引用即可。在win2003+vs.net2005+mysql下调试通过。
-----------------------------------------------------------------------------------
为什么我的 Mysql 不支持中文查询?
Q:
我在写一个查询条件时的问题如下:
如我想写一个字段中包含“李”字的所有记录
$str="李";
select * from table where field like '%$str%' ;
显示的记录中除了包含”李”字的记录,还有不包含“李”字的记录。为什么?
A:
在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。
出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。
方法一:
解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。
方法二:
如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为:
SELECT * FROM table WHERE locate(field,'李') > 0;
本站使用的就是这种方法,感觉还不错。:P
方法四:
把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可!
---------------------------------------------------
MySql中的ODBC驱动与.NET驱动的中文异常
Mysql为ODBC和.NET分别提供了特定的数据库驱动程序,分别为:
(1)MySQL Connector/Net -- for connecting to MySQL from .NET
(2)Connector/ODBC - MySQL ODBC driver
我使用的版本是:MySQL Connector/Net 5.0和MySQL Connector/ODBC 3.51,数据库版本是:MySQL - 5.0.22。
近来在使用中发现,假设混合使用这两种数据库驱动程序储存/读取中文的时候,是会出现异常的。
简单的测试代码如下:
简单测试页面
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head runat="server">
<title>简单测试</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Retrieve data via Odbc..
<asp:GridView ID="gridOdbc" runat="server">
</asp:GridView>
<hr />
Retrieve data via Mysql..
<asp:GridView ID="gridMysql" runat="server">
</asp:GridView>
<hr />
Name:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<br />
EnglishName:<asp:TextBox ID="txtEnglishName" runat="server"></asp:TextBox>
<hr />
<asp:Button ID="btnOdbc" runat="server" Text="Input data via Odbc" OnClick="btnOdbc_Click" />
<asp:Button ID="btnMysql" runat="server" Text="input data via Mysql" OnClick="btnMysql_Click" />
</div>
</form>
</body>
</html> 代码简单使用两个GridView,通过不同的数据库驱动程序连接数据库,读取数据。数据分别使用两种方式录入。
读取数据
//使用ODBC读取数据
private void OdbcGetData()
{
OdbcConnection conn = new OdbcConnection(ConfigurationManager.ConnectionStrings["odbc"].ConnectionString);
string sql = "select * from coding";
OdbcDataAdapter da = new OdbcDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "coding");
gridOdbc.DataSource = ds;
gridOdbc.DataBind();
}
//使用NET读取数据
private void MysqlGetData()
{
MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["Mysql"].ConnectionString);
string sql = "select * from coding";
MySqlDataAdapter da = new MySqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "coding");
gridMysql.DataSource = ds;
gridMysql.DataBind();
}
录入数据
录入数据
//使用ODBC录入数据
protected void btnOdbc_Click(object sender, EventArgs e)
{
OdbcConnection conn = new OdbcConnection(ConfigurationManager.ConnectionStrings["odbc"].ConnectionString);
string sql = string.Format("insert into coding(id,name,englishname) values(null,\'\',\'\')", txtName.Text, txtEnglishName.Text);
OdbcCommand cmd = new OdbcCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
OdbcGetData();
MysqlGetData();
}
//使用NET录入数据
protected void btnMysql_Click(object sender, EventArgs e)
{
MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["Mysql"].ConnectionString);
string sql = string.Format("insert into coding(id,name,englishname) values(null,\'\',\'\')", txtName.Text, txtEnglishName.Text);
MySqlCommand cmd = new MySqlCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
OdbcGetData();
MysqlGetData();
} 简单输入一些测试数据后可以发现,英文是正常的,而中文是乱码。
解决办法正在探索中,也希望各位能提出宝贵意见。
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
把D:\Program Files\MySQL\MySQL Server 5.0\my.ini
中的字符集改成utf8
default-character-set=utf8
然后一定要重启。不然不起作用
.net操作mysql中文字符乱码的问题
作者:yaosansi 日期:2007-08-29
字体大小: 小 中 大
/* 在使用MySql时会遇到中文乱码的问题就此写下面两个函数
* 在写入数据库和从数据库读出时将编码改变
* author:alice
* date :2006/1/25
*/
//写入数据库时进行转换
public string GB2312_ISO8859(string write)
{
//声明字符集
System.Text.Encoding iso8859, gb2312;
//iso8859
iso8859 = System.Text.Encoding.GetEncoding("iso8859-1");
//国标2312
gb2312 = System.Text.Encoding.GetEncoding("gb2312");
byte[] gb;
gb = gb2312.GetBytes(write);
//返回转换后的字符
return iso8859.GetString(gb);
}
//读出时进行转换
public string ISO8859_GB2312(string read)
{
//声明字符集
System.Text.Encoding iso8859,gb2312;
//iso8859
iso8859 = System.Text.Encoding.GetEncoding("iso8859-1");
//国标2312
gb2312 = System.Text.Encoding.GetEncoding("gb2312");
byte[] iso;
iso = iso8859.GetBytes(read);
//返回转换后的字符
return gb2312.GetString(iso);
}
//批量数据转换
//其实就是将dataset的内容读出到xml文件,然后再输出
public DataSet ISO8859_GB2312(DataSet ds)
{
string xml;
xml = ds.GetXml();
ds.Clear();
//声明字符集
System.Text.Encoding iso8859,gb2312;
//iso8859
iso8859 = System.Text.Encoding.GetEncoding("iso8859-1");
//国标2312
gb2312 = System.Text.Encoding.GetEncoding("gb2312");
byte[] bt;
bt = iso8859.GetBytes(xml);
xml = gb2312.GetString(bt);
ds.ReadXml(new System.IO.StringReader(xml));
return ds;
}
在读写的时候将上面的函数引用即可。在win2003+vs.net2005+mysql下调试通过。
-----------------------------------------------------------------------------------
为什么我的 Mysql 不支持中文查询?
Q:
我在写一个查询条件时的问题如下:
如我想写一个字段中包含“李”字的所有记录
$str="李";
select * from table where field like '%$str%' ;
显示的记录中除了包含”李”字的记录,还有不包含“李”字的记录。为什么?
A:
在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。
出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。
方法一:
解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。
方法二:
如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为:
SELECT * FROM table WHERE locate(field,'李') > 0;
本站使用的就是这种方法,感觉还不错。:P
方法四:
把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可!
---------------------------------------------------
MySql中的ODBC驱动与.NET驱动的中文异常
Mysql为ODBC和.NET分别提供了特定的数据库驱动程序,分别为:
(1)MySQL Connector/Net -- for connecting to MySQL from .NET
(2)Connector/ODBC - MySQL ODBC driver
我使用的版本是:MySQL Connector/Net 5.0和MySQL Connector/ODBC 3.51,数据库版本是:MySQL - 5.0.22。
近来在使用中发现,假设混合使用这两种数据库驱动程序储存/读取中文的时候,是会出现异常的。
简单的测试代码如下:
简单测试页面
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head runat="server">
<title>简单测试</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Retrieve data via Odbc..
<asp:GridView ID="gridOdbc" runat="server">
</asp:GridView>
<hr />
Retrieve data via Mysql..
<asp:GridView ID="gridMysql" runat="server">
</asp:GridView>
<hr />
Name:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<br />
EnglishName:<asp:TextBox ID="txtEnglishName" runat="server"></asp:TextBox>
<hr />
<asp:Button ID="btnOdbc" runat="server" Text="Input data via Odbc" OnClick="btnOdbc_Click" />
<asp:Button ID="btnMysql" runat="server" Text="input data via Mysql" OnClick="btnMysql_Click" />
</div>
</form>
</body>
</html> 代码简单使用两个GridView,通过不同的数据库驱动程序连接数据库,读取数据。数据分别使用两种方式录入。
读取数据
//使用ODBC读取数据
private void OdbcGetData()
{
OdbcConnection conn = new OdbcConnection(ConfigurationManager.ConnectionStrings["odbc"].ConnectionString);
string sql = "select * from coding";
OdbcDataAdapter da = new OdbcDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "coding");
gridOdbc.DataSource = ds;
gridOdbc.DataBind();
}
//使用NET读取数据
private void MysqlGetData()
{
MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["Mysql"].ConnectionString);
string sql = "select * from coding";
MySqlDataAdapter da = new MySqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "coding");
gridMysql.DataSource = ds;
gridMysql.DataBind();
}
录入数据
录入数据
//使用ODBC录入数据
protected void btnOdbc_Click(object sender, EventArgs e)
{
OdbcConnection conn = new OdbcConnection(ConfigurationManager.ConnectionStrings["odbc"].ConnectionString);
string sql = string.Format("insert into coding(id,name,englishname) values(null,\'\',\'\')", txtName.Text, txtEnglishName.Text);
OdbcCommand cmd = new OdbcCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
OdbcGetData();
MysqlGetData();
}
//使用NET录入数据
protected void btnMysql_Click(object sender, EventArgs e)
{
MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["Mysql"].ConnectionString);
string sql = string.Format("insert into coding(id,name,englishname) values(null,\'\',\'\')", txtName.Text, txtEnglishName.Text);
MySqlCommand cmd = new MySqlCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
OdbcGetData();
MysqlGetData();
} 简单输入一些测试数据后可以发现,英文是正常的,而中文是乱码。
解决办法正在探索中,也希望各位能提出宝贵意见。
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
展开全部
add reference,然后import
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用 文件夹上右键 添加引用 浏览 找到你A项目的DLL
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先把项目编译(生成)一下,确定没有语法错误,然后再项目B中添加引用,
如果两个项目在一个解决方案,添加引用找到项目即可;
如果不在一个解决方案,添加引用时,找到项目A的bin目录中的dll即可
如果两个项目在一个解决方案,添加引用找到项目即可;
如果不在一个解决方案,添加引用时,找到项目A的bin目录中的dll即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询