ADO.NET基础实战 从文件读取数据插入到数据库

硬盘文件:

ADO.NET基础实战 从文件读取数据插入到数据库

C#代码:

 1  class Program

 2     {

 3         static void Main(string[] args)

 4         {

 5          string[] namefile = File.ReadAllLines(@"f:\student.txt");//读取硬盘文件

 6          

 7         

 8             //存储SQL受影响行数的变量

 9             int rowsnum=0;

10          //连接数据库

11             string sqlconstr = @"server=.\SQLEXPRESS;database=MyDataBase15_31;uid=sa;pwd=sa";

12             SqlConnection sqlconn = new SqlConnection(sqlconstr);

13             //建议通道 准备执行Sql语句

14             string sqlcomstr = @"insert into student2 (sName,sAge,sGender,sClass) values('{0}','{1}','{2}','{3}')";

15             SqlCommand sqlcom=new SqlCommand();

16             using (sqlconn)

17             {

18                 using (sqlcom)

19                 {

20                     for (int i = 0; i < namefile.Length; i++)

21                     {

22                     //分割每条记录,以字段为单位存入数组linedata[]

23                        //1 

24                         string[] linedata = namefile[i].Split(new char[]{'\t'}, StringSplitOptions.RemoveEmptyEntries);

25                          sqlcom.CommandText = string.Format(sqlcomstr, linedata[1], linedata[2], linedata[3], linedata[4]);//连接数据库,执行语句

26 

27                              sqlcom.Connection = sqlconn;

28                              

29                          //以下是最关键的三行代码,他们和using是没有替代关系的,

30                         sqlconn.Open();

31                         rowsnum+=sqlcom.ExecuteNonQuery();//执行SQL语句,返回受影响数

32                        sqlconn.Close(); 

33                        

34                     }

35                 }

36             }

37              Console.WriteLine("成功导入记录{0}条", rowsnum);

38             Console.ReadKey();

39         }

40     }

 

完整代码,中间遇到很多问题,改了很多次。看起来比较乱

View Code
 1 using System;

 2 using System.Collections.Generic;

 3 using System.Linq;

 4 using System.Text;

 5 using System.IO;

 6 using System.Data.SqlClient;

 7 

 8 namespace _0607从文本到数据库

 9 {

10     class Program

11     {

12         static void Main(string[] args)

13         {

14             //读取硬盘文件

15             string[] namefile = File.ReadAllLines(@"f:\student.txt");

16             //string[] linedata = linedata(namefile.Length);

17             

18             //存储SQL受影响行数的变量

19             int rowsnum=0;

20 

21             // 声明数据表字段变量 

22             //int sId = 0;

23             //string sName = "";

24             //int sAge = 0;

25             //bool sGender;

26             //string sClass = "";

27 

28             //连接数据库

29             string sqlconstr = @"server=.\SQLEXPRESS;database=MyDataBase15_31;uid=sa;pwd=sa";

30             SqlConnection sqlconn = new SqlConnection(sqlconstr);

31             //建立通道 准备执行Sql语句

32             string sqlcomstr = @"insert into student2 (sName,sAge,sGender,sClass) values('{0}','{1}','{2}','{3}')";

33             SqlCommand sqlcom=new SqlCommand();

34             using (sqlconn)

35             {

36                 using (sqlcom)

37                 {

38                     for (int i = 0; i < namefile.Length; i++)

39                     {

40                         //分割每条记录,以字段为单位存入数组linedata[]

41                        //1 

42                         string[] linedata = namefile[i].Split(new char[]{'\t'}, StringSplitOptions.RemoveEmptyEntries);//StringSplitOptions.RemoveEmptyEntries 空值不计入数组;  //separator

43                         //2string[] linedata = namefile[i].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

44                       //3  string[] linedata = namefile[i].Split(new string[] { "\t" }, StringSplitOptions.RemoveEmptyEntries);

45                       //4  string[] linedata = namefile[i].Split(new char[] { '\t' });

46                                                                  //换成'\t'这样报错

47                        

48                         // 拼接SQL语句 字符串

49                    ////遍历1     foreach (string tem in linedata)     

50                    //     {

51                    //        // Console.Write("\r\n{0}", tem);

52                    //                       //  sqlconn.Open();

53                         

54                    //     sqlcom.CommandText = string.Format(sqlcomstr, linedata[1], linedata[2], linedata[3], linedata[4]);

55                    //     }

56                        // 遍历2

57                        // for (int ii = 0; ii < namefile.Length; ii++)

58                        // {

59                             //sqlcom.CommandText="insert into student2 (sName,sAge,sGender,sClass) values('章夏槐','9','False','PHP')";

60                         sqlcom.CommandText = string.Format(sqlcomstr, linedata[1], linedata[2], linedata[3], linedata[4]);//连接数据库,执行SQL语句

61 

62                       

63                         sqlcom.Connection = sqlconn;

64                       //以下是最关键的三行代码,他们和using是没有替代关系的,

65                         sqlconn.Open();

66                         rowsnum+=sqlcom.ExecuteNonQuery();//执行SQL语句,返回受影响数

67                        sqlconn.Close();  

68 

69 

70                        // }

71                     }

72                 }

73             }

74             Console.WriteLine("成功导入记录{0}条", rowsnum);

75             Console.ReadKey();

76         }

77         

78     }

79 }

 

完成效果:

ADO.NET基础实战 从文件读取数据插入到数据库

=========================================================================

SqlCommand.CommandText 属性

取或设置要对数据源执行的 Transact-SQL 语句、表名或存储过程。

语法:

public override string CommandText { get; set; }

属性值

类型:System.String

 

要执行的 Transact-SQL 语句或存储过程。默认值为空字符串。

 

实现

IDbCommand..::.CommandText

示例:

1 public void CreateCommand() 

2  {

3     SqlCommand command = new SqlCommand();

4     command.CommandText = "SELECT * FROM Categories ORDER BY CategoryID";

5     command.CommandTimeout = 15;

6     command.CommandType = CommandType.Text;

7  }

SqlCommand.Connection 属性

获取或设置 SqlCommand 的此实例使用的 SqlConnection。

 

 

语法:

public SqlConnection Connection { get; set; }

 

属性值

类型:System.Data.SqlClient.SqlConnection

 

与数据源的连接。默认值为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。

你可能感兴趣的:(.net)