首页 > 代码库 > C/s从文件(TXT)中读取数据插入数据库
C/s从文件(TXT)中读取数据插入数据库
流程:
1.当按钮单击时,弹出OpenFileDialog
2.判断后缀名是否合法
3.导入数据库
按钮事件中的代码:
1.判断用户是否选中文件。
2.判断用户选择的文件是否为txt
//第一步,当按钮被点击时,弹出选择文件框,OpenFileDialog OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "文件文件|*.txt"; if (ofd.ShowDialog() == DialogResult.OK) { if (ofd.SafeFileName == "*.txt") { this.txtFilePath.Text = ofd.FileName; //准备导入数据 ImportData(ofd.FileName); } }
ImportData中的代码:
*:这种方式可以节省打开服务器连接的效率,不用没执行一次循环就开启一次连接。
1.打开reader流,并制定文件编码格式,这里给的是本机编码,Encoding.Default
2.以约定的分隔符分割文件,这里是用,作为分隔符
3.拼接插入数据库的Sql语句
4.执行sql代码。
private void ImportData(string Path) { string temp = string.Empty; //File.ReadAllText(Path); using (StreamReader reader = new StreamReader(Path,Encoding.Default)) //指定编码格式,如果指定的文件编码格式不一样则会乱码 { //reader.ReadLine(); string connStr = ConfigurationManager.ConnectionStrings["SqlConfig"].ConnectionString; using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); //using (SqlCommand cmd = new SqlCommand(sql,conn)) using (SqlCommand cmd = conn.CreateCommand()) { while (!string.IsNullOrEmpty(temp = reader.ReadLine())) { var ss = temp.Split(‘,‘); //,为约定的分隔符,当前ss中存储的是已经分割后的数组 string sql = string.Format("insert into tblStudent(stuName,stuSex,stuBirthDate,stuPhone) values({0},{1},{2},{3},{4})", ss[0], ss[1], ss[2], ss[3]); //拼接Sql语句,数值类型需要+‘’ conn.Open(); cmd.CommandText = sql; cmd.ExecuteNonQuery(); }//end while }//end SqlCommand }//end SqlConnection }//end StreamReader }
C/s从文件(TXT)中读取数据插入数据库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。