问题的提出
在动态蒙古文网站的建设中采用什么数据库软件存储蒙古文,并且通过Web应用程序进行访问时能否读出和写入正确的字符也是需要解决的问题。
解决方案
在动态蒙古文网站的建设中可以选择MicrosoftSQLServer2000数据库,因为SqlServer对Unicode有很好的支持在sqlServer中,使用Unicode数据类型,可存储由Unicode标准定义的任何字符,包含由不同字符集定义的所有字符Unicode数据使用SQLServer中的nchar、nvarchar和ntext数据类型进行存储)在网站的数据表设计中使用这些数据类型,可以存储蒙古文字符串以及蒙古文、汉文和英文混合的字符串动态网站的开发中可以采用当前流行的ASPNET技术在ASP.NET中,数据库的访问主要通过ADONET来实现ADONET使用了一种不依赖于连续的活动连接的方式来访问数据库,因此它可以节省系统资源,并可以轻松地进行扩展。ADONET对数据库的访问是通过Connection对象、Command对象、DataReader对象、DataSet对象。
DataAdapter对象等多个对象的协同操作来完成的。
在蒙古文网站后台管理程序的每个管理模块都涉及到数据的添加、更新、删除问题这些操作在ADONET中可以使用Sql的Insertlnto、Update、Delete语句来完成但是经过实验发现,带有蒙古文Unicode字符的记录在ADONET中直接通过Insertlnto语句来插入到表时不能正确识Unicode蒙古文字符,存入数据表的都是问号但是将Command对象、DataAdapter对象、DataSet对象、DataTable对象和DataRow对象结合起来实现数据的添加却能正确识别蒙古文Unicode字符具体实现步骤为:通过DataAdapter对象的Fill方法将预插入数据的数据表数据添加到DataSet对象中并指定数据表的名字;接下来对DataSet的此数据表——DataTale对象创建存储一条记录的DataRow对象,将预添加的数据一条记录一条记录地添加到DataTable中;最后通过DataAdapter对象的Update方法更新源数据表。
数据的更新操作也不能直接采用Update语句来完成,如同添加操作的思想,通过DataTable和DataRow对象实现与添加操作不同的是要对DataTable的特定的DataRow进行更新即可数据的删除可以通过Sql的Delete语句完成。
|