黑马程序员技术交流社区
标题:
跟着视频做手机归属地问题
[打印本页]
作者:
李拴同
时间:
2013-1-3 17:29
标题:
跟着视频做手机归属地问题
代码都是按着视频一步一步来的 在运行时出现以下问题 麻烦大家仔细看看
未处理 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("导入成功");
}
}
}
}
作者:
王继光
时间:
2013-1-3 17:54
最开始 在 Main函数开始的时候 有一句有问题 dataDir = System.IO.Directory.GetParent(dataDir).Parent.FullName;
应该是 dataDir = System.IO.Directory.GetParent(dataDir).Parent
.Parent
.FullName;
有两个 Parent
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2