黑马程序员技术交流社区
标题:
批量数据插入时遇到的问题
[打印本页]
作者:
梁思思
时间:
2013-3-10 22:25
标题:
批量数据插入时遇到的问题
private void btnImport_Click(object sender, RoutedEventArgs e)
{
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "文本文件|*.txt";
if (ofd.ShowDialog() == false)
{
return;
}
string[] lines = File.ReadLines(ofd.FileName, Encoding.Default).ToArray();
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
for (int i = 1; i < lines.Length; i++)
{
string line = lines[i];
string[] strs = line.Split('\t');
string startTelNum = strs[0];
string city = strs[1].Trim('"');//去掉双引号
string telType = strs[2].Trim('"');//去掉双引号
}
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = @"insert into T_TelNum(StartTelNum,TelType,TelArea)
values(@StartTelNum,@TelType,@TelArea)";
cmd.Parameters.Add(new SqlParameter("@StartTelNum",startTelNum));
cmd.Parameters.Add(new SqlParameter("@TelType", telType));
cmd.Parameters.Add(new SqlParameter("@TelArea", city));
}
}
}
复制代码
错误1:当前上下文中不存在名称“telType”
错误2:当前上下文中不存在名称“startTelNum”
错误3:当前上下文中不存在名称“city”
作者:
曾钦
时间:
2013-3-11 00:37
{:soso_e103:} 虽然.net不会,但是根据你报的错,我推测应该是局部变量和全局变量搞混了的问题。
telType、startTelNum、city 这三个变量你在for里面定义的,生命周期出了for循环就没了,所以你在27、28、29三行中引用的时候,
程序不认识这三个变量了。这个应该是原因,至于怎么解决。。。。额,你自己再思考下哈,.net我不会。哈哈
作者:
梁思思
时间:
2013-3-11 19:04
曾钦 发表于 2013-3-11 00:37
虽然.net不会,但是根据你报的错,我推测应该是局部变量和全局变量搞混了的问题。
telType、 ...
恩,恩,楼上正解。。。我把它们放到for循环外了。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2