c#数据库与TXT导入导出的实例
c#数据库与TXT导入导出的实例
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:privatevoidbutton1_Click(objectsender,EventArgse){if(openFile...

复制代码 代码如下:

private void button1_Click(object sender, EventArgs e)

{

if (openFileDialog1.ShowDialog() == DialogResult.OK)

{

using (FileStream fs = File.OpenRead(openFileDialog1.FileName))

{

using (StreamReader sr = new StreamReader(fs, System.Text.Encoding.GetEncoding("GB2312")))

{

//<span>必需设置字符编码System.Text.Encoding.GetEncoding("GB2312"),

不然string name = arr[0]中的name就是乱码</span> using (SqlConnection conn = new SqlConnection(@"Data Source=.SQLEXPRESS;AttachDbFilename='|DataDirectory|dd.mdf';

Integrated Security=True;User Instance=True"))

{

//<span>DataDirectory指的是数据库的绝对路径,winForm里面的Program.cs必需添加代码,否则是.NET是找到的数据库是有问题的,实在不懂可以去博客园自己去看看why</span>

conn.Open();

using (SqlCommand cmd = conn.CreateCommand())

{

cmd.CommandText = "insert into T_Persons values(@Name,@Age)";

string line = "";

while ((line = sr.ReadLine()) != null)

{

string[] arr = line.Split('|');

string name = arr[0];

int age = Convert.ToInt32(arr[1]);

cmd.Parameters.Clear();//别忘了

cmd.Parameters.Add(new SqlParameter("Name", name));

cmd.Parameters.Add(new SqlParameter("Age", age));

cmd.ExecuteNonQuery();

}

}

}

}

}

MessageBox.Show("txt导入数据库成功!");

}

}

private void button2_Click(object sender, EventArgs e)

{

if (saveFileDialog1.ShowDialog() == DialogResult.OK)

{

using (FileStream fs = File.OpenWrite(saveFileDialog1.FileName))

{

using (StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312")))

{

using (SqlConnection conn = new SqlConnection(@"Data Source=.SQLEXPRESS;AttachDbFilename='|DataDirectory|dd.mdf';Integrated Security=True;User Instance=True"))

{

conn.Open();

using (SqlCommand cmd = conn.CreateCommand())

{

cmd.CommandText = "select * from T_Persons";

using (SqlDataReader sdr = cmd.ExecuteReader())

{

while (sdr.Read())

{

string name = sdr.GetString(sdr.GetOrdinal("Name"));

int age = sdr.GetInt32(sdr.GetOrdinal("Age"));

string line =name+"|"+age;

sw.WriteLine(line);

sw.Flush();

}

}

}

}

}

}

MessageBox.Show("导出数据到txt成功!");

}

}

</span>

这是要在Program.cs文件中添加的代码,它只对winForm和win控制台有效:

复制代码 代码如下:

static void Main()

{

string dataDir = AppDomain.CurrentDomain.BaseDirectory;

if (dataDir.EndsWith(@"binDebug") || dataDir.EndsWith(@"binRelease"))

{

dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;

AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);

}

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类