各种说明Ado.Net代码乱码介绍问题的开发数据库应用程序,常规时都不直接对数据库操作,而是先完成数据连接和通过数据适配器填充DataSet对象,然后客户端再通过读取DataSet来获得需要的数据,
ADO.NET,首先必须了解、掌握DataSet。DataSet主要有三个特性:
1. 独立性。DataSet独立于各种数据源。微软公司在推出DataSet时就考虑到各种数据源的多样性、复杂性。在Ado.Net代码中,无论什么类型数据源,Ado.Net代码都会提供一致的关系编程模型,而这就是DataSet。#t#
2. 离线(断开)和连接。DataSet既可以以离线方式,也可以以实时连接来操作数据库中的数据。这一点有点像ADO中的RecordSet。
3. DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图。
这样子写Ado.Net代码,执行以后数据库中中文字符显示乱码,PS:Article_Subject 为NCHAR,Article_Content 为Ntext
- strSql = "INSERT INTO Articles ([Article_Subject] ,[Article_Content] ,[Author_ID] ,[Post_Time])
- ALUES ('测试','测试','FrancisLiu','"+DateTime.Today.ToShortDateString()+"')";
- SqlCommand cmd = new SqlCommand();
- cmd.Connection = conn;
- cmd.CommandText = strSql;
- cmd.ExecuteNonQuery();
- 用 SqlParameter没问题的
- strSql.Append("insert into [Articles](");
- strSql.Append("[article_Subject],[article_Content][author_id],[post_time])");
- strSql.Append(" values (");
- strSql.Append("@article_Subject,@article_Content,@author_id,@make_time,@sReply_count)");
- SqlParameter[] parameters = {
- new SqlParameter("@article_Subject", SqlDbType.NChar,40),
- new SqlParameter("@article_Content", SqlDbType.NText),
- new SqlParameter("@author_id", SqlDbType.NChar,10),
- new SqlParameter("@make_time", SqlDbType.NChar,25)
- parameters[0].Value = model.article_Subject;
- parameters[1].Value = model.article_Content;
- model.make_time;