c#中查数据问题?急!

evangel_h 2009-04-13 07:43:01
我现在就要把几张表里SELECT的内容放到一张新表里嘛,但是现在就是放不进去,下面是我的代码,
麻烦各位高手帮帮看下是哪里出了问题,万分感谢!!!!


protected void save_Click(object sender, System.EventArgs e)
{

try{
DateTime BeginTime = Convert.ToDateTime(txtBeginTime.Text.ToString());
DateTime EndTime = Convert.ToDateTime(txtEndTime.Text.ToString());

string myConnectString = "Data Source=308f4981667b487;Initial Catalog=de;Persist Security Info=True;User ID=sa;Password=sa123";
SqlConnection myConn = new SqlConnection(myConnectString);
myConn.Open();
SqlCommand cmd = myConn.CreateCommand();
cmd.CommandText = "INSERT INTO Emp(StationName, EmpName, EmpAge, Teclv,TeethNum,reTime) select T_M_Station.StationName,T_HR_EmpBasic.EmpName,datediff(year,birthday,getdate()) as EmpAge,T_HR_EmpBasic.TecLv,sum(T_M_TrackProduct.TeethNum) as TeethNum,reTime" +
" from T_M_Track inner join T_M_Station on T_M_Track.State='1' and T_M_Track.BeginTime>='" + BeginTime + "' and T_M_Track.EndTime <='" + EndTime + "' and T_M_Track.StationID=T_M_Station.StationID " +
" left join T_M_TrackProduct on T_M_Track.ID=T_M_TrackProduct.TrackID" +
" inner join T_HR_EmpBasic on T_M_TrackProduct.ProduceEmpBasicID=T_HR_EmpBasic.ID and T_HR_EmpBasic.EmpID='" + txtEmpID.Text.Trim() + "'" +
"left join T_M_TrackProductTech on T_M_TrackProduct.ID=T_M_TrackProductTech.TrackProductID" +
" left join T_M_Tech on T_M_TrackProductTech.TechID=T_M_Tech.TechID" +


" group by OrderID,T_M_Station.StationName,T_HR_EmpBasic.ID,T_HR_EmpBasic.EmpName,T_HR_EmpBasic.Birthday,T_HR_EmpBasic.TecLv,T_M_TrackProduct.TeethNum,T_M_Track.IsRepair,reTable.reTime";

cmd.ExecuteNonQuery();
}
catch (Exception c)
{
Console.WriteLine("写入数据库错误:/n{0}", c.Message);
}


}


}


...全文
88 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
txt_paul 2009-04-15
  • 打赏
  • 举报
回复
不善用强悍的存储过程 和 触发器。

那是浪费数据库的强悍功能。

再说,很多时候,数据库服务器是另一台机子。 那就可以更快的处理响应了。

强烈顶存储过程 和触发器。

能实现一些超复杂业务逻辑。
walkghost 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wangxianshou 的回复:]
楼主最好把错误信息贴出来........

个人意见,仅供参考

1.看下表的结构,是否insert into 的字段和select的字段一致,别出现遗漏或者错位

2.在程序中设断点监视下,把检测到的sql拿到查询分析器中去执行,查询分析器会告诉你哪里出现了错误,这是最常用的调试方法

3.建议写成存储过程,传参数调用
[/Quote]
UP!建议中肯合适。
wangxianshou 2009-04-13
  • 打赏
  • 举报
回复
楼主最好把错误信息贴出来........

个人意见,仅供参考

1.看下表的结构,是否insert into 的字段和select的字段一致,别出现遗漏或者错位

2.在程序中设断点监视下,把检测到的sql拿到查询分析器中去执行,查询分析器会告诉你哪里出现了错误,这是最常用的调试方法

3.建议写成存储过程,传参数调用

111,126

社区成员

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

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

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