博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MS-SQL中Insert操作插入的中文变成问号"???"的解决办法
阅读量:7209 次
发布时间:2019-06-29

本文共 1916 字,大约阅读时间需要 6 分钟。

    编写的新闻管理系统添加新闻以后标题和内容都变成了"???",插入语句如下:

insert into news_info(info_title,info_content) values('标题','内容')

      在网上查了一下,这是因为我的标题和内容的数据类型分别为nvarchar和ntext,而我的数据库排序规则是"SQL_Latin1_General_CP1_CI_AS",只要将其改为"Chinese_PRC_CI_AS"就可以了。可以使用Sql server management studio改,也可以使用sql语句改。sql语句如下:

alter  database  databaseName  collate Chinese_PRC_CI_AS

      但是我在该数据库排序规则的时候出现错误,错误信息:无法用排它锁锁定该数据库,alter database 操作失败。

      后来发现修改插入语句可以显示中文,就是在字符前面加上字母"N",插入语句如下:

insert into news_info(info_title,info_content) values(N'标题',N'内容')

      在业务逻辑层也需要进行一些修改,原先业务逻辑层的插入操作如下

public static bool AddNews(string title, string content)//添加新闻        {            String strsql = "Insert into news_info(info_title,info_content,info_addtime,info_isshow,info_chinese) Values(@info_title,@info_content,@info_addtime,@info_isshow,@info_chinese)";            SqlParameter[] paras = new SqlParameter[5];            paras[0] = new SqlParameter("@info_title", SqlDbType.VarChar);            paras[0].Value = title;            paras[1] = new SqlParameter("@info_content", SqlDbType.VarChar);            paras[1].Value = content;            paras[2] = new SqlParameter("@info_addtime", SqlDbType.DateTime);            paras[2].Value = System.DateTime.Now;            paras[3] = new SqlParameter("@info_isshow", SqlDbType.Int);            paras[3].Value = 0;            paras[4] = new SqlParameter("@info_chinese", SqlDbType.Int);            paras[4].Value = 1;            if (NewsDB.Getcmd(strsql, paras))            {                return true;            }            return false;        }

将其中的SqlDbType.VarChar改为SqlDbType.NVarChar,修改代码如下:

paras[0] = new SqlParameter("@info_title", SqlDbType.NVarChar);            paras[0].Value = title;            paras[1] = new SqlParameter("@info_content", SqlDbType.NVarChar);            paras[1].Value = content;

修改完成以后再插入 中文就不会再显示问号了。

 

 

本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/archive/2010/05/20/2297141.html,如需转载请自行联系原作者

你可能感兴趣的文章
「旁门右道」CURL持久连接技巧
查看>>
(十五) 构建springmvc+mybatis+dubbo分布式平台-window安装dubbo管控台
查看>>
Oracle - 安装 Oracle Database 11g Release 2
查看>>
JavaScript iterator 设计模式
查看>>
关于PHP的OpenSSL的加密问题
查看>>
iKcamp团队制作|基于Koa2搭建Node.js实战(含视频)☞ 中间件用法
查看>>
vue2 关于开发插件的几点思考
查看>>
Rancher Kubernetes Engine(RKE)正式发布:闪电般的Kubernetes安装部署体验
查看>>
Linux网络——一种强制门户技术
查看>>
不得不学的http协议
查看>>
移动端采用Flexible将PX转换REM适配及开发中Retina屏1px边框的两种解决方案
查看>>
jquery梳理之常用选择器
查看>>
神秘的.user.ini文件
查看>>
JavaScript的正则表达式
查看>>
如何实现一个楼中楼的评论系统
查看>>
nodemailer的使用
查看>>
JavaScript之Object
查看>>
未来数据中心核心技术:RDMA在京东的应用
查看>>
通过拓展Function.prototype实现一个AOP
查看>>
【176天】黑马程序员27天视频学习笔记【Day11-上】
查看>>