大家看看我这段代码问题在哪里?

cppsun 2011-02-05 01:46:11
   string source = @" server = .;database = DB1; integrated security=SSPI ";
SqlConnection sqlcon = new SqlConnection(source);
sqlcon.Open();

SqlCommand sqlcom = new SqlCommand();
sqlcom.Connection = sqlcon;
sqlcom.CommandText = "insert into ChangedFile(filed,filedtype) values(@filed,@filedtype)";
sqlcom.Parameters.Add("@filed", SqlDbType.VarChar);
sqlcom.Parameters.Add("@filedtype", SqlDbType.Int);
sqlcom.Parameters["@filed"].Value = e.FullPath;
sqlcom.Parameters["@filedtype"].Value = 1;
sqlcom.ExecuteNonQuery();

sqlcon.Close();


这段代码每次执行都是产生了两条记录。大家看看问题在哪里?
...全文
167 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2011-02-05
  • 打赏
  • 举报
回复
连接没关闭
执行一句
sqlcon.Close();
效果一样。
或是
sqlcon.Dispose();
问题不是关键,你可以以此搜索学习一下using,Dispose等
cppsun 2011-02-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
单步是否执行多次
using(SqlConnection sqlcon = new SqlConnection(source))
{ sqlcon.Open();

}
[/Quote]

加上这句就OK了,什么原因呢?
xu56180825 2011-02-05
  • 打赏
  • 举报
回复
上面代码无错误啊~~你多贴点代码看看是不是其他代码的问题
phil999 2011-02-05
  • 打赏
  • 举报
回复
这段代码没问题,是调用方出错,玩了两次。看这句代码是在事件处理程序里,

sqlcom.Parameters["@filed"].Value = e.FullPath;

检查一下是不是重复订阅,或者事件触发了两次
cppsun 2011-02-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]
这段代码被执行了2次。
[/Quote]

怎么会执行两次的呢?
wuyq11 2011-02-05
  • 打赏
  • 举报
回复
单步是否执行多次
using(SqlConnection sqlcon = new SqlConnection(source))
{ sqlcon.Open();

}
threenewbee 2011-02-05
  • 打赏
  • 举报
回复
这段代码被执行了2次。

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧