110,561
社区成员
发帖
与我相关
我的任务
分享
private void button1_Click(object sender, EventArgs e)
{
string cnnString = "Trusted_Connection=SSPI;Data Source=" + textBox1.Text + ";Initial Catalog=" + textBox2.Text + ";";
//Trusted_Connection=SSPI; Data Source = 服务器名; Initial Catalog = 数据库名; integrated security=SSPI;
SqlConnection cnn = new SqlConnection(cnnString);
string sql;
sql = " CREATE TABLE [" + textBox2.Text + "].[dbo].[" + textBox4.Text +
"](id varchar(50) NOT NULL," +
"host varchar(50) NOT NULL DEFAULT '1'," +
"number varchar(32) NOT NULL," +
"add_time varchar(50) NOT NULL," +
"rented varchar(50) DEFAULT NULL," +
"warn varchar(32) DEFAULT NULL," +
"rfid varchar(32) DEFAULT NULL," +
"rfid_dte varchar(32) DEFAULT NULL," +
"obd_mile varchar(32) DEFAULT NULL," +
"engine_t varchar(32) DEFAULT NULL," +
"mileage varchar(32) DEFAULT NULL," +
"speed varchar(32) DEFAULT NULL, " +
"motor varchar(32) DEFAULT NULL," +
"oil varchar(32) DEFAULT NULL," +
"power varchar(32) DEFAULT NULL," +
"ev_battery varchar(16) DEFAULT NULL," +
"charging varchar(32) DEFAULT NULL," +
"fuel_mileage varchar(32) DEFAULT NULL," +
"electric_mileage varchar(32) DEFAULT NULL," +
"endurance varchar(32) DEFAULT NULL," +
"temperature varchar(32) DEFAULT NULL," +
"csq varchar(32) DEFAULT NULL," +
"power_consumption varchar(32) DEFAULT NULL," +
"longitude varchar(32) DEFAULT NULL," +
"latitude varchar(32) DEFAULT NULL," +
"num varchar(50) DEFAULT NULL," +
"currenttime varchar(50) DEFAULT NULL," +
"mo_data varchar(20) DEFAULT NULL)";
SqlCommand command = new SqlCommand(sql, cnn);
cnn.Open();
command.CommandTimeout = 0;
command.ExecuteNonQuery();
cnn.Close();
String path = textBox3.Text;
DirectoryInfo folder = new DirectoryInfo(path);
DataTable table = new DataTable();
table.Columns.Add("id");
table.Columns.Add("host");
table.Columns.Add("number");
table.Columns.Add("add_time");
table.Columns.Add("rented");
table.Columns.Add("warn");
table.Columns.Add("rfid");
table.Columns.Add("rfid_dte");
table.Columns.Add("obd_mile");
table.Columns.Add("engine_t");
table.Columns.Add("mileage");
table.Columns.Add("speed");
table.Columns.Add("motor");
table.Columns.Add("oil");
table.Columns.Add("power");
table.Columns.Add("ev_battery");
table.Columns.Add("charging");
table.Columns.Add("fuel_mileage");
table.Columns.Add("electric_mileage");
table.Columns.Add("endurance");
table.Columns.Add("temperature");
table.Columns.Add("csq");
table.Columns.Add("power_consumption");
table.Columns.Add("longitude");
table.Columns.Add("latitude");
table.Columns.Add("num");
table.Columns.Add("currenttime");
table.Columns.Add("mo_data");
SqlBulkCopy bulkCopy = new SqlBulkCopy(cnnString);
foreach (FileInfo file in folder.GetFiles("*.txt"))
{
string fileName = file.FullName;
StreamReader sr = new StreamReader(fileName, Encoding.UTF8);
int linenum=0;
while (sr.ReadLine() != null)
{
linenum = linenum + 1;
}
sr.Close();
StreamReader sr1 = new StreamReader(fileName, Encoding.UTF8);
for (int i = 0; i < linenum / 2; i++)
{
sr1.ReadLine();
}
for (int i = linenum / 2; i < linenum ; i++)
{
string readStr = sr1.ReadLine();
try
{
DataRow dr = table.NewRow();
//string[] str = readStr.Split(new char[] {'\t'});
string[] str = readStr.Split('\t');
string id = str[0];
string host = str[1];
string number = str[2];
string add_time = str[3];
string rented = str[4];
string warn = str[5];
string rfid = str[6];
string rfid_dte = str[7];
string obd_mile = str[8];
string engine_t = str[9];
string mileage = str[10];
string speed = str[11];
string motor = str[12];
string oil = str[13];
string power = str[14];
string ev_battery = str[15];
string charging = str[16];
string fuel_mileage = str[17];
string electric_mileage = str[18];
string endurance = str[19];
string temperature = str[20];
string csq = str[21];
string power_consumption = str[22];
string longitude = str[23];
string latitude = str[24];
string num = str[25];
string currenttime = str[26];
string mo_data = str[27];
dr["id"] = id;
dr["host"] = host;
dr["number"] = number;
dr["add_time"] = add_time;
dr["rented"] = rented;
dr["warn"] = warn;
dr["rfid"] = rfid;
dr["rfid_dte"] = rfid_dte;
dr["obd_mile"] = obd_mile;
dr["engine_t"] = engine_t;
dr["mileage"] = mileage;
dr["speed"] = speed;
dr["motor"] = motor;
dr["oil"] = oil;
dr["power"] = power;
dr["ev_battery"] = ev_battery;
dr["charging"] = charging;
dr["fuel_mileage"] = fuel_mileage;
dr["electric_mileage"] = electric_mileage;
dr["endurance"] = endurance;
dr["temperature"] = temperature;
dr["csq"] = csq;
dr["power_consumption"] = power_consumption;
dr["longitude"] = longitude;
dr["latitude"] = latitude;
dr["num"] = num;
dr["currenttime"] = currenttime;
dr["mo_data"] = mo_data;
table.Rows.Add(dr);
}
catch (Exception)
{
MessageBox.Show(readStr);
}
}
sr1.Close();
}
bulkCopy.BatchSize = 100000;
bulkCopy.DestinationTableName = textBox4.Text;
bulkCopy.ColumnMappings.Add("id", "id");
bulkCopy.ColumnMappings.Add("host", "host");
bulkCopy.ColumnMappings.Add("number", "number");
bulkCopy.ColumnMappings.Add("add_time", "add_time");
bulkCopy.ColumnMappings.Add("rented", "rented");
bulkCopy.ColumnMappings.Add("warn", "warn");
bulkCopy.ColumnMappings.Add("rfid", "rfid");
bulkCopy.ColumnMappings.Add("rfid_dte", "rfid_dte");
bulkCopy.ColumnMappings.Add("obd_mile", "obd_mile");
bulkCopy.ColumnMappings.Add("engine_t", "engine_t");
bulkCopy.ColumnMappings.Add("mileage", "mileage");
bulkCopy.ColumnMappings.Add("speed", "speed");
bulkCopy.ColumnMappings.Add("motor", "motor");
bulkCopy.ColumnMappings.Add("oil", "oil");
bulkCopy.ColumnMappings.Add("power", "power");
bulkCopy.ColumnMappings.Add("ev_battery", "ev_battery");
bulkCopy.ColumnMappings.Add("charging", "charging");
bulkCopy.ColumnMappings.Add("fuel_mileage", "fuel_mileage");
bulkCopy.ColumnMappings.Add("electric_mileage", "electric_mileage");
bulkCopy.ColumnMappings.Add("endurance", "endurance");
bulkCopy.ColumnMappings.Add("temperature", "temperature");
bulkCopy.ColumnMappings.Add("csq", "csq");
bulkCopy.ColumnMappings.Add("power_consumption", "power_consumption");
bulkCopy.ColumnMappings.Add("longitude", "longitude");
bulkCopy.ColumnMappings.Add("latitude", "latitude");
bulkCopy.ColumnMappings.Add("num", "num");
bulkCopy.ColumnMappings.Add("currenttime", "currenttime");
bulkCopy.ColumnMappings.Add("mo_data", "mo_data");
bulkCopy.WriteToServer(table);
bulkCopy.Close();
MessageBox.Show("运行完毕");
}
string readStr = sr1.ReadLine();
拿到try里面去,既然这行直接抛出异常,说明没有读到东西,你catch打印readStr有必要么?