首先肯定是壹個按鈕
OleDbConnection conn = new OleDbConnection("sql連接字符串");
OleDbTransaction tran = null;
try
{
//把TXT文本轉換為datatable
string sql = string.Format("select * from [Text;Database={0}].{1}", "這個是妳的txt文件路徑", “收盤報表.txt");
DataTable dt = new DataTable();
OleDbDataAdapter sda = new OleDbDataAdapter(sql, conn);
sda.Fill(dt);
if (dt == null)
{
MessageBox.Show("您導入的文檔名字有誤!請去掉空格或特殊字符!");
return;
}
//去掉空行
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i][0].ToString().Trim() == string.Empty)
{
dt.Rows.Remove(dt.Rows[i--]);
}
}
//事務開始
tran = conn.BeginTransaction();
OleDbCommand cmd = conn.CreateCommand();
cmd.Transaction = tran;
for (int i = 0; i < dt.Rows.Count; i++)
{
string[] str=dt.Rows[i][0].ToString().split(' ');//用空格區分妳的三列
string sql_insert = string.Format("insert into TABLE1 (“字段1”,"字段2","字段3") values ('{0}','{1}','{2}')", str[0],str[1].str[2]);
cmd.CommandText = sql_insert;
cmd.ExecuteNonQuery();
}
tran.Commit();
}
MessageBox.Show("導入成功!");
}
catch
{
MessageBox.Show("導入失敗!");
tran.Rollback();
}
finally
{
conn.Dispose();
}
如果是數據庫是sqlserver,只要把OleDb換成Sql就可以了。直接編譯通過不可能的,自己看著辦吧