大大们帮忙改下程序吧,我新手,错了尽管说

psixm 2010-06-09 07:47:04
                sqlconn.Open();
SqlCommand cmd = new SqlCommand("select count(*) from TEMP_FLIGHT ", sqlconn);
object obj = cmd.ExecuteScalar();
if (Convert.ToInt32(obj) > 0)
{
DataSet ds = new DataSet();
SqlDataAdapter oda = new SqlDataAdapter("select * from TEMP_FLIGHT", sqlconn);
ds.Clear();
oda.Fill(ds, "TEMP_FLIGHT");

sqlconn1.Open();
SqlCommand mcmd = sqlconn1.CreateCommand();
mcmd.CommandText = "delete from A_FLIGHT where ( select * from A_FLIGHT join "
+ ds.Tables["TEMP_FLIGHT"] + " on A_FLIGHT.FLIGHTID = " + ds.Tables["TEMP_FLIGHT"].Columns["FLIGHTID"].ToString() + ")" + " ";
mcmd.CommandText += "insert into A_FLIGHT select * from " + ds.Tables["TEMP_FLIGHT"];
mcmd.ExecuteNonQuery();

SqlDataAdapter mda = new SqlDataAdapter("select * from A_FLIGHT", sqlconn);
ds.Clear();
mda.Fill(ds, "A_FLIGHT");

SqlCommand ocmd = sqlconn.CreateCommand();
ocmd.CommandText = "drop table TEMP_FLIGHT_OLD" + " ";
ocmd.CommandText += "sp_ReName TEMP_FLIGHT , TEMP_FLIGHT_OLD" + " ";
ocmd.CommandText += "create table TEMP_FLIGHT select * from " + ds.Tables["A_FLIGHT"];
ocmd.ExecuteNonQuery();

MessageBox.Show("成功");
...全文
95 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yalan 2010-06-09
  • 打赏
  • 举报
回复
mcmd.CommandText += "insert into A_FLIGHT select * from " + ds.Tables["TEMP_FLIGHT"];


这么写当然有问题了!

CommandText是String的!返回的是一个DataTable!
捷哥1999 2010-06-09
  • 打赏
  • 举报
回复
mcmd.CommandText += "insert into A_FLIGHT select * from " + ds.Tables["TEMP_FLIGHT"];


这么写当然有问题了!

CommandText是String的!返回的是一个DataTable!
psixm 2010-06-09
  • 打赏
  • 举报
回复
那该怎么写啊,我最近才开始自己摸索的,还不是上级的命令,郁闷
不懂装懂 2010-06-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 psixm 的回复:]

分了两步还是不行~~
[/Quote]
你怎么分的。。。两个数据库sqlconn.Open();红色部分不一样
另外mcmd.CommandText += "insert into A_FLIGHT select * from " + ds.Tables["TEMP_FLIGHT"];
谁教你可以这么写的。。。。
psixm 2010-06-09
  • 打赏
  • 举报
回复
分了两步还是不行~~
不懂装懂 2010-06-09
  • 打赏
  • 举报
回复
。。。。应该是删除和添加分两步执行吧。。。
一个sql语句执行两步貌似不行。。。
psixm 2010-06-09
  • 打赏
  • 举报
回复
怎么解决?
psixm 2010-06-09
  • 打赏
  • 举报
回复
在一楼说明了
poloyzhang 2010-06-09
  • 打赏
  • 举报
回复
这个一般是出现数据类型不匹配,我之前插入数据也出现过类似的提示
poloyzhang 2010-06-09
  • 打赏
  • 举报
回复
什么问题都没有说?
psixm 2010-06-09
  • 打赏
  • 举报
回复
两个sqlconn是连接的不同的数据库,有一个远程的一个本地的,,要读取远程的数据库的表,更新到本地数据库,FLIGHTID相同的就更新,不同的就添加,这个编译之后出现“在应使用条件的上下文(insert附近)指定了非布尔类型的表达式”

110,534

社区成员

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

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

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