解決問題,100相送。

dandysunny 2008-08-23 12:36:37
一個課程表現是的程序,“單放”可以正常顯示,“雙房”就在
tmp_str = "select b.title+ '<br /> '+b.content+ ' <br /> '+b.coursetime1+ ' <br /> '+b.teacher" +
" from course b " +
" where b.coursemonth=#" + drp_coursemonth.SelectedItem.Text.Trim() + "-01# and b.coursetime='" + curtime + "' and b.courseweekday='" + weekday[k].ToString() + "' and roomtype='單房' and b.roomaddr='" + drp_courseaddr.SelectedItem.Text.Trim() + "'";

dr1 = DbHelperSQL.ExecuteReader(tmp_str);


出現錯誤,顯示未知錯誤(access數據庫)。
完整代碼如下:
private void courselist_datebind()
{

switch (b_roomaddr.GetModel(int.Parse(drp_courseaddr.SelectedValue.ToString())).RoomType)
{
case "單房":

//判斷是否存在記錄
//代碼省略了
break;
case "雙房":

tmp_str = "select count(*) from DoubleTemp";

if (DbHelperSQL.ExecuteScalar(tmp_str)>0)
{
DbHelperSQL.ExecuteSql("delete from DoubleTemp");
}


tmp_str = "insert into DoubleTemp(list_no,coursetime) select Tid,Tname from times order by tid";
DbHelperSQL.ExecuteSql(tmp_str);

//循環執行語句
string[] weekday1 ={ "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" };
for (int i = 1; i <= 13; i++)
{
string curtime = "";
dr1 = DbHelperSQL.ExecuteReader("select coursetime from DoubleTemp where list_no=" + i);


if (dr1.Read())
{
curtime = dr1[0].ToString();
}
dr1.Close();

for (int k = 0; k < weekday1.Length; k++)
{
tmp_str = "select b.title+ '<br /> '+b.content+ ' <br /> '+b.coursetime1+ ' <br /> '+b.teacher" +
" from course b " +
" where b.coursemonth=#" + drp_coursemonth.SelectedItem.Text.Trim() + "-01# and b.coursetime='" + curtime + "' and b.courseweekday='" + weekday1[k].ToString() + "' and roomtype='大房' and b.roomaddr='" + drp_courseaddr.SelectedItem.Text.Trim() + "'";

dr1 = DbHelperSQL.ExecuteReader(tmp_str);
string tmp = "";
if (dr1.Read())
{

tmp = dr1[0].ToString();
}

dr1.Close();

if (tmp != "")
{
tmp_str = " update DoubleTemp set data_" + (k + 1) + "_L='" + tmp + "' where list_no= " + i;
try
{
DbHelperSQL.ExecuteSql(tmp_str);
}
catch (Exception ex)
{

}
}

tmp_str = "select b.title+ '<br /> '+b.content+ ' <br /> '+b.coursetime1+ ' <br /> '+b.teacher" +
" from course b " +
" where b.coursemonth=#" + drp_coursemonth.SelectedItem.Text.Trim() + "-01# and b.coursetime='" + curtime + "' and b.courseweekday='" + weekday1[k].ToString() + "' and roomtype='細房' and b.roomaddr='" + drp_courseaddr.SelectedItem.Text.Trim() + "'";

dr1 = DbHelperSQL.ExecuteReader(tmp_str);
tmp = "";
if (dr1.Read())
{

tmp = dr1[0].ToString();
}
dr1.Close();

if (tmp != "")
{
tmp_str = " update DoubleTemp set data_" + (k + 1) + "_S='" + tmp + "' where list_no= " + i;

try
{
DbHelperSQL.ExecuteSql(tmp_str);
}
catch (Exception ex)
{

}
}

}

}

strsql = "select * from doubletemp ";
dgvList2.DataSource = DbHelperSQL.Query(strsql);
dgvList2.DataBind();
dgvList.Visible = false;
dgvList2.Visible = true;

strsql = "delete from DoubleTemp";
DbHelperSQL.ExecuteSql(strsql);
break;
default: break;

}

}

請各位大哥,大姐,指點下,謝謝。
...全文
135 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dandysunny 2008-08-27
  • 打赏
  • 举报
回复

我也采取过单步调试,错误还是在这个地方,就是不明白为什么有这个错误,放在access里也没错的,在vs里直接执行也没错,可以查出来。
期待。。
行勝於言! 2008-08-26
  • 打赏
  • 举报
回复
使用调试,一步一步跟踪下,就应该比较好找出错误
amandag 2008-08-23
  • 打赏
  • 举报
回复
1.单步调试 首先看看tmp_str这个变量是否能在数据库里执行
2.学会用参数化的语句而不是拼接sql语句
「已注销」 2008-08-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 cteddy 的回复:]
Title + ' <br /> ' + Content + ' <br /> ' + CourseTime1 + ' <br /> ' + Teacher
为什么要在数据库里面加,在DATALIST里面绑定就是了啊
还有CourseTime = '17:00-17:45'到底是时间还是字符
不看到你全部的话很难找错
[/Quote]
cteddy 2008-08-23
  • 打赏
  • 举报
回复
Title + ' <br /> ' + Content + ' <br /> ' + CourseTime1 + ' <br /> ' + Teacher
为什么要在数据库里面加,在DATALIST里面绑定就是了啊
还有CourseTime = '17:00-17:45'到底是时间还是字符
不看到你全部的话很难找错
dandysunny 2008-08-23
  • 打赏
  • 举报
回复


出錯的這句就是輸出的sql語句。在上面
yagebu1983 2008-08-23
  • 打赏
  • 举报
回复
你看看输出的sql语句对不对!!
单步调试!!
dandysunny 2008-08-23
  • 打赏
  • 举报
回复

SELECT Title + '<br /> ' + Content + ' <br /> ' + CourseTime1 + ' <br /> ' + Teacher AS
Expr1
FROM Course b
WHERE (CourseMonth = #7/1/2008#) AND (CourseTime = '17:00-17:45') AND
(CourseWeekDay = '星期一') AND (RoomType = '大房') AND
(RoomAddr = '青衣分校')

異常發生在上面這句,但在查詢分析器中運行又沒錯。
LQknife 2008-08-23
  • 打赏
  • 举报
回复
把sql语句考到数据库查询工具里边看出错在哪
dandysunny 2008-08-23
  • 打赏
  • 举报
回复
to 1 樓,
1.可以執行,在表中可看到部分數據已經插入。
2.謝謝
suyiming 2008-08-23
  • 打赏
  • 举报
回复
access 不熟
fsy123456accp 2008-08-23
  • 打赏
  • 举报
回复
同意楼上的观点

62,250

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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