做一个小程序用来把区域基础数据导入数据库
首先,创建一个xml文件
<?xml version="1.0" encoding="utf-8" ?>
<ConnectionConfig>
<ConnectionString>Data Source=***\XXXMS_SQL2005;Initial Catalog=**MS;UID=sa;Password=123456;</ConnectionString>
</ConnectionConfig >
再新建一个连接类
<ConnectionConfig>
<ConnectionString>Data Source=***\XXXMS_SQL2005;Initial Catalog=**MS;UID=sa;Password=123456;</ConnectionString>
</ConnectionConfig >
ConnectionStrings连接类
using System;
using System.Collections.Generic;
using System.Text;
namespace WindowsFormsApplication1
{
public class ConnectionStrings
{
private static ConnectionStrings _instance;
public static ConnectionStrings Instance
{
get
{
if (_instance == null)
{
_instance = new ConnectionStrings();
}
return _instance;
}
}
public static string connStr;
public static string ConnStr
{
get { return connStr; }
set { connStr = value; }
}
public string GetConnectionString()
{
if (connStr != null) return connStr;
System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument();
xmldoc.Load("Connection.xml");
System.Xml.XmlNode connnode = xmldoc.SelectSingleNode("ConnectionConfig");
if (connnode != null)
{
System.Xml.XmlElement xe = (System.Xml.XmlElement)connnode;
return xe.InnerText ;
}
else
return string.Empty;
}
}
}
再在Form上拖入一个button和OpenFileDialog,然后在button的Click事件中写入:
using System;
using System.Collections.Generic;
using System.Text;
namespace WindowsFormsApplication1
{
public class ConnectionStrings
{
private static ConnectionStrings _instance;
public static ConnectionStrings Instance
{
get
{
if (_instance == null)
{
_instance = new ConnectionStrings();
}
return _instance;
}
}
public static string connStr;
public static string ConnStr
{
get { return connStr; }
set { connStr = value; }
}
public string GetConnectionString()
{
if (connStr != null) return connStr;
System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument();
xmldoc.Load("Connection.xml");
System.Xml.XmlNode connnode = xmldoc.SelectSingleNode("ConnectionConfig");
if (connnode != null)
{
System.Xml.XmlElement xe = (System.Xml.XmlElement)connnode;
return xe.InnerText ;
}
else
return string.Empty;
}
}
}
导入数据的方法
SqlConnection conn = new SqlConnection(ConnectionStrings.Instance.GetConnectionString());
conn.Open();//打开连接
openFileDialog.ShowDialog();
string FileName = openFileDialog.FileName;
StreamReader reader = new StreamReader(FileName, Encoding.GetEncoding("GB2312"));
string sLine = "";
ArrayList LineList = new ArrayList();
while (sLine != null)
{
sLine = reader.ReadLine();
if (sLine != null && !sLine.Equals(""))
LineList.Add(sLine);
}
reader.Close();
string province = string.Empty;
string provinceID = string.Empty;
foreach (string line in LineList)
{
if (line.Contains("-"))
{
string newline = line.Replace("-", "");
provinceID = PinYiner.GetPinyin(newline).ToUpper();
provinceID = provinceID.Replace(" ", "");
province = StringHelper.GetChineseSpell(newline);
try
{
string insertText = "insert into BasZone values('" + provinceID + "','China','" + newline + "','" + province + "','4','1','2009-9-24 11:29:57','U00001','2009-9-24 11:29:57','U00001','','','')";
SqlCommand cmd = new SqlCommand(insertText, conn);
cmd.ExecuteNonQuery();
}
catch
{
provinceID = provinceID + "1";
string insertText = "insert into BasZone values('" + provinceID + "','China','" + newline + "','" + province + "','4','1','2009-9-24 11:29:57','U00001','2009-9-24 11:29:57','U00001','','','')";
SqlCommand cmd = new SqlCommand(insertText, conn);
cmd.ExecuteNonQuery();
}
continue;
}
else
{
string newline = province + "-" + PinYiner.GetPinyin(line).ToUpper();
newline = newline.Replace(" ", "");
string insertText = "insert into BasZone values('" + newline + "','" + provinceID + "','" + line + "','" + StringHelper.GetChineseSpell(line) + "','8','1','2009-9-24 11:29:57','U00001','2009-9-24 11:29:57','U00001','','','')";
SqlCommand cmd = new SqlCommand(insertText, conn);
cmd.ExecuteNonQuery();
continue;
}
}
其中文本文件的模板为
SqlConnection conn = new SqlConnection(ConnectionStrings.Instance.GetConnectionString());
conn.Open();//打开连接
openFileDialog.ShowDialog();
string FileName = openFileDialog.FileName;
StreamReader reader = new StreamReader(FileName, Encoding.GetEncoding("GB2312"));
string sLine = "";
ArrayList LineList = new ArrayList();
while (sLine != null)
{
sLine = reader.ReadLine();
if (sLine != null && !sLine.Equals(""))
LineList.Add(sLine);
}
reader.Close();
string province = string.Empty;
string provinceID = string.Empty;
foreach (string line in LineList)
{
if (line.Contains("-"))
{
string newline = line.Replace("-", "");
provinceID = PinYiner.GetPinyin(newline).ToUpper();
provinceID = provinceID.Replace(" ", "");
province = StringHelper.GetChineseSpell(newline);
try
{
string insertText = "insert into BasZone values('" + provinceID + "','China','" + newline + "','" + province + "','4','1','2009-9-24 11:29:57','U00001','2009-9-24 11:29:57','U00001','','','')";
SqlCommand cmd = new SqlCommand(insertText, conn);
cmd.ExecuteNonQuery();
}
catch
{
provinceID = provinceID + "1";
string insertText = "insert into BasZone values('" + provinceID + "','China','" + newline + "','" + province + "','4','1','2009-9-24 11:29:57','U00001','2009-9-24 11:29:57','U00001','','','')";
SqlCommand cmd = new SqlCommand(insertText, conn);
cmd.ExecuteNonQuery();
}
continue;
}
else
{
string newline = province + "-" + PinYiner.GetPinyin(line).ToUpper();
newline = newline.Replace(" ", "");
string insertText = "insert into BasZone values('" + newline + "','" + provinceID + "','" + line + "','" + StringHelper.GetChineseSpell(line) + "','8','1','2009-9-24 11:29:57','U00001','2009-9-24 11:29:57','U00001','','','')";
SqlCommand cmd = new SqlCommand(insertText, conn);
cmd.ExecuteNonQuery();
continue;
}
}
-安徽
合肥
黄山
省份前有一横杠)
合肥
黄山
省份前有一横杠)