将txt 、LOG文件导入数据库中,中文也不会出现乱码

        private void btnTxtToTable_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.txtFileName.Text.Trim()))
            {
                MessageBox.Show("请选择要导入表中的LOG文件!");
                return;
            }

            SqlConnection conn = null;
            SqlCommand cmd;
            StreamReader sr = null;
            try
            {

        //        conn = new SqlConnection("Data Source="+this.txtIpAddress.Text.Trim()+";Initial Catalog="+this.txtDbName.Text.Trim()+";"
        //+ "Integrated Security=SSPI;user id=" + this.txtUserName.Text.Trim() + ";password=" + this.txtPassword.Text.Trim() + ";");
                //conn = new SqlConnection("initial catalog=" + this.txtIpAddress.Text.Trim() + ";Server="
                //    + this.txtDbName.Text.Trim() + ";user id=" + this.txtUserName.Text.Trim() + ";password=" + this.txtPassword.Text.Trim() + ";");

                string sql = "Data Source=" + this.txtIpAddress.Text.Trim() + ";Initial Catalog="
                    + this.txtDbName.Text.Trim() + ";User ID=" + this.txtUserName.Text.Trim() + ";password=" + this.txtPassword.Text.Trim() + ";";
                conn = new SqlConnection(sql);
               
                conn.Open();

 

                sr   =   new   StreamReader(new   FileStream( this.txtFileName.Text.Trim(),   FileMode.Open,   FileAccess.Read),   System.Text.Encoding.GetEncoding("UTF-8"));

 

                string insertCmd = "insert   into   LogInfo   values   (@LDate,   @LTime,   @LPage , @LUser , @LIP  , @LMessage) ";
                        
               
                string   []   split   =   null;
                 
                string   strTemp   =   sr.ReadLine();
                        while(strTemp   !=   null)
                        {
                            split = strTemp.Split();

                            cmd = new SqlCommand(insertCmd, conn);

                            cmd.Parameters.Add("@LDate ", SqlDbType.SmallDateTime).Value = split[0];
                            cmd.Parameters.Add("@LTime ", SqlDbType.VarChar).Value = split[1];
                            cmd.Parameters.Add("@LPage ", SqlDbType.VarChar).Value = split[2];

                            cmd.Parameters.Add("@LUser ", SqlDbType.VarChar).Value = split[3];
                            cmd.Parameters.Add("@LIP ", SqlDbType.VarChar).Value = split[4];
                            cmd.Parameters.Add("@LMessage ", SqlDbType.VarChar).Value = split[5];

                            cmd.ExecuteNonQuery();
                           
                            strTemp   =   sr.ReadLine();
                        }

                MessageBox.Show("成功导入表中!"  );
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                if (sr != null) {
                    sr.Close();
                }
                if (conn != null)
                {
                    conn.Close();
                }
            }
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值