通过C#向数据库插入记录是乱码

1.数据库的排序规则是Chinese_Taiwan_Stroke_CI_AS 繁体的.

如果要插入表的字符串栏位如果是char类型,需改成nchar类型,

这时在insert语句时在汉字前面加N即可避免乱码

2. 本表中栏位是char,修改为nchar后, 在程序中同样修改sqldbtype类型从char为nchar

 

            SqlParameter[] parameters = new SqlParameter[9];
            parameters[0] = new SqlParameter("@hbdfno", SqlDbType.Int);
            parameters[0].Value = hbdqcs.FormNo;
            parameters[1] = new SqlParameter("@hbdwno", SqlDbType.NChar);
            parameters[1].Value = hbdqcs.WorkNo;
            parameters[2] = new SqlParameter("@hbdcnm", SqlDbType.NChar);
            parameters[2].Value = hbdqcs.CName;
            parameters[3] = new SqlParameter("@hbdenm", SqlDbType.NChar);
            parameters[3].Value = hbdqcs.EName;
            parameters[4] = new SqlParameter("@hbdbir", SqlDbType.Int);
            parameters[4].Value = hbdqcs.Birthday;
            parameters[5] = new SqlParameter("@hbdidc", SqlDbType.NChar);
            parameters[5].Value = hbdqcs.IDCode;
            parameters[6] = new SqlParameter("@hbdnpn", SqlDbType.NChar);
            parameters[6].Value = hbdqcs.Nationality;
            parameters[7] = new SqlParameter("@hbdmas", SqlDbType.NChar);
            parameters[7].Value = hbdqcs.MarriageStatus;
            parameters[8] = new SqlParameter("@hbdfmn", SqlDbType.SmallInt);
            parameters[8].Value = hbdqcs.FosterMotherNumber;

            string sql = @"insert into ehrhbdqcs (hbdfno,hbdwno,hbdcnm,hbdenm,hbdbir,hbdidc,hbdnpn,hbdmas,hbdfmn)
                           select @hbdfno,@hbdwno,@hbdcnm,@hbdenm,@hbdbir,@hbdidc,@hbdnpn,@hbdmas,@hbdfmn ";

            SqlHelper.ExecuteNonQuery(Configuration.ConnectionString, CommandType.Text, sql, parameters);

这样通过程序写入数据库就不会出现乱码了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值