· 9 years ago · Nov 28, 2016, 05:02 PM
1public String SaveScript()
2 {
3 String script = "";
4 if (myConnection.State == ConnectionState.Closed)
5 {
6 myConnection.Open();
7 transaction = myConnection.BeginTransaction();
8 }
9 myCommand.CommandText = "show tables";
10 myDataReader = myCommand.ExecuteReader();
11 int count = myDataReader.FieldCount;
12 String[] str = new String[count];
13 List<String> list = new List<String>();
14 int k = 0;
15 while (myDataReader.Read())
16 {
17 list.Add( myDataReader.GetString(0));
18 k++;
19 }
20 myDataReader.Close();
21 foreach (String item in list)
22 {
23 bool f = false;
24 int n;
25 String key = "";
26 myCommand.CommandText = "show fields from " + item;
27 myDataReader = myCommand.ExecuteReader();
28 script += ("create table if not exists " + item + "(" + System.Environment.NewLine);
29 key = "primary key(";
30 while (myDataReader.Read())
31 {
32 n = myDataReader.FieldCount;
33 script += (myDataReader.GetString(0) + " " + myDataReader.GetString(1));
34 if (myDataReader.GetString(2).ToLower() == "no") script += (" not null");
35 if (!myDataReader.IsDBNull(4)) script += (" " + myDataReader.GetString(4));
36 if (!myDataReader.IsDBNull(5)) script += (" " + myDataReader.GetString(5));
37 String temp = myDataReader.GetString(3).ToLower();
38 if (temp == "pri")
39 {
40 key += myDataReader.GetString(0);
41 }
42 script += ("," + System.Environment.NewLine);
43 }
44 script += (key + "));" + System.Environment.NewLine);
45 myDataReader.Close();
46 myCommand.CommandText = "select * from " + item;
47 myDataReader = myCommand.ExecuteReader();
48
49 n = myDataReader.FieldCount;
50 while (myDataReader.Read())
51 {
52 script += ("insert into " + item + " values (\"");
53 for (int j = 0; j < n; j++)
54 {
55 if (f)
56 {
57 script += "\", \"";
58 }
59 f = true;
60 script += myDataReader.GetString(j);
61 }
62 script += "\"); "+ System.Environment.NewLine;
63 f = false;
64 }
65
66 myDataReader.Close();
67 }
68 transaction.Commit();
69 myConnection.Close();
70 return script;
71 }