代码都是按着视频一步一步来的 在运行时出现以下问题 麻烦大家仔细看看
未处理 System.Data.SqlClient.SqlException
Message=尝试为文件 H:\2010网站\手机归属地查询\手机归属地查询\bin\Phone.mdf 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中。
我在应用程序主入口点 中输入这样代码
目前还不知道这行代码什么意思 按着视频来的
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\")
|| dataDir.EndsWith(@"\bin\Relese\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}
以为是这段代码错的去掉后就会运行但插入不到数据库内容程序就死掉了
程序如下:
namespace 手机归属地查询
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnimport_Click(object sender, EventArgs e)
{
FolderBrowserDialog dlg = new FolderBrowserDialog();//判断用户是否点Ok
if (dlg.ShowDialog() != DialogResult.OK)
{
return;
}
string path = dlg.SelectedPath; //选择用户路径
string connstr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;//获取配置文件中的链接字符串
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())//不知道为什么要清楚一下,表里没有数据吧
{
cmd.CommandText = "delete from T_Numbers";
cmd.ExecuteNonQuery();
}
}
string[] files = Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories);//扫面TXT文件
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "insert into T_Numbers(StarNo,EndNo,Name)values(@StarNo,@EndNo,@Name)";
foreach (string file in files)//这里有点不理解了
{
string 运行商名称 = Path.GetFileNameWithoutExtension(file);
string[] lines = File.ReadAllLines(file, Encoding.Default);
foreach (string line in lines)
{
string[] strs = line.Split('-');
string 开始号码 = strs[0];
string 结束号码 = strs[1];
string 市 = strs[2];
cmd.Parameters.Clear();//清楚Parameters
cmd.Parameters.Add(new SqlParameter("StarNo", 开始号码));
cmd.Parameters.Add(new SqlParameter("EndNo", 结束号码));
cmd.Parameters.Add(new SqlParameter("Name", 运行商名称 + 市));
cmd.ExecuteNonQuery();
}
}
}
MessageBox.Show("导入成功");
}
}
}
}
|
|