Menu
Woocommerce Menu

还有的说是数据库字符集的问题

0 Comment

mssqlserver导入到数据库教程中插入文字乱码问题解决方法,先看一下我的导入代码,应该是没有任何问题了。

public static class SqlHelper
{
public static readonly string connstr =
ConfigurationManager.ConnectionStrings[“connstr”].ConnectionString;

private void btninsert_Click(object sender, EventArgs e){if
(odimport.ShowDialog() == DialogResult.OK)//准备接收文件;{using
(FileStream filestream = File.OpenRead(odimport.FileName)){using
(StreamReader streamreader = new
StreamReader(filestream)){//创建连接字符串及建立通道;string connstr =
ConfigurationManager.ConnectionStrings[constr].ConnectionString;using
(SqlConnection conn = new SqlConnection(connstr)){conn.Open();using
(SqlCommand cmd = conn.CreateCommand()){cmd.CommandText = insert into
Phonenumber(Phone,LocalID,LocalAddress,Phonestyle)
values(@Phone,@LocalID,@LocalAddress,@Phonestyle);string line =
null;while ((line = streamreader.ReadLine()) !=
null){//转化每一行数据为数组并用split分割字符串,获取个字段信息;string[]
strs = line.Split(‘ ‘);string Phone = strs[0];int LocalID =
Convert.ToInt32(strs[1]);string LocalAddress = strs[2];string
Phonestyle = strs[3];

cmd.Parameters.Clear();cmd.Parameters.Add(new SqlParameter(Phone,
Phone));cmd.Parameters.Add(new SqlParameter(LocalID,
LocalID));cmd.Parameters.Add(new SqlParameter(LocalAddress,
LocalAddress));cmd.Parameters.Add(new SqlParameter(Phonestyle,
Phonestyle));cmd.ExecuteNonQuery();}}

}}}MessageBox.Show(导入成功);}

public static SqlConnection OpenConnection()
{
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
return conn;
}

调试正常,可是当我打开数据表查看导入的数据时,靠,令人蛋疼的情况发生了:如下图归属地和卡品信息全变成不明字符

public static int ExecuteNonQuery(string cmdText,
params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
return ExecuteNonQuery(conn, cmdText, parameters);
}
}

开始还以为是字段属性设置错误,检查一下字段属性弄错了,可是一检查没什么大问题:

public static object ExecuteScalar(string cmdText,
params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
return ExecuteScalar(conn, cmdText, parameters);
}
}

然后上网搜了一大堆关于数据库中插入文字乱码问题的相关资料;不看还好,越看越晕,竟然还有位老兄说这是mssqlserver的数据保护,什么加密字段,靠想想微软也不会这么也不会这么bt,还有的说是数据库字符集的问题,我试了试得出结论:都是扯淡!

public static DataTable ExecuteDataTable(string cmdText,
params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
return ExecuteDataTable(conn, cmdText, parameters);
}
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图