public partial class _film_list : PClass
{
public string btime = null;
public string etime = null;
protected void Page_Load(object sender, EventArgs e)
{ if (!IsPostBack)
btime = Request.QueryString["btime"].ToString();
etime = Request.QueryString["etime"].ToString(); {
string SqlStr = "SELECT fm_film.id, Film_startime, Film_endtime,Location_atiude,Location_longitude,fm_film.device_number,device_region,device_host,IsVerify FROM fm_device RIGHT OUTER JOIN fm_film ON fm_device.device_number =fm_film.device_number where (IsVerify=0) order by fm_film.id desc";
if (btime == "all" && etime == "all" )
{
NewsBind(SqlStr);
}
else
{
btime = Request.QueryString["btime"].ToString();
etime = Request.QueryString["etime"].ToString();
Response.Write(btime + etime);
SqlStr = "SELECT fm_film.id, Film_startime, Film_endtime,Location_atiude,Location_longitude,fm_film.device_number,device_region,device_host,IsVerify FROM fm_device RIGHT OUTER JOIN fm_film ON fm_device.device_number =fm_film.device_number where (IsVerify=0) and (Film_endtime between '" + btime + "' and '+etime+') order by fm_film.id desc ";
Response.Write(SqlStr);
NewsBind(SqlStr);
}
}
}
Response.Write(SqlStr);输出的语句直接用查询分析器可以执行,无错误!
而直接执行时提示异常详细信息: System.Data.SqlClient.SqlException: 从字符串转换为 datetime 时发生语法错误。
{
public string btime = null;
public string etime = null;
protected void Page_Load(object sender, EventArgs e)
{ if (!IsPostBack)
btime = Request.QueryString["btime"].ToString();
etime = Request.QueryString["etime"].ToString(); {
string SqlStr = "SELECT fm_film.id, Film_startime, Film_endtime,Location_atiude,Location_longitude,fm_film.device_number,device_region,device_host,IsVerify FROM fm_device RIGHT OUTER JOIN fm_film ON fm_device.device_number =fm_film.device_number where (IsVerify=0) order by fm_film.id desc";
if (btime == "all" && etime == "all" )
{
NewsBind(SqlStr);
}
else
{
btime = Request.QueryString["btime"].ToString();
etime = Request.QueryString["etime"].ToString();
Response.Write(btime + etime);
SqlStr = "SELECT fm_film.id, Film_startime, Film_endtime,Location_atiude,Location_longitude,fm_film.device_number,device_region,device_host,IsVerify FROM fm_device RIGHT OUTER JOIN fm_film ON fm_device.device_number =fm_film.device_number where (IsVerify=0) and (Film_endtime between '" + btime + "' and '+etime+') order by fm_film.id desc ";
Response.Write(SqlStr);
NewsBind(SqlStr);
}
}
}
Response.Write(SqlStr);输出的语句直接用查询分析器可以执行,无错误!
而直接执行时提示异常详细信息: System.Data.SqlClient.SqlException: 从字符串转换为 datetime 时发生语法错误。
解决方案 »
- [求高手指点]此 SqlParameterCollection 中未包含带有 ParameterName“@Name”的 SqlParameter。
- outlook插件开发的问题,困扰我好几天了
- FLASH 焦点图 | 实现最新新闻首页图片轮换显示
- 关于ASP.NET发布后程序的问题只有80分了..高手进来下
- 如果用ASP.net2.0实现如CSDN这用左右frameset的管理样式?急呀谢谢
- <Blockquote></Blockquote>这东西怎么用啊?
- RegisterStartupScript是哪个类文件中的?
- 如何获取datagrid中模板列radiobuttonlist的值?(急)
- 有关命名空间的引用,求救啊
- 非常急的任务,数据导出成foxbase格式
- vs2008中GridView编辑列中的打算添加CheckBoxField项,但添加始终为灰色不可用,请前辈帮忙分析下是什么原因,小弟先感谢了!
- TreeView取值问题
你这样传到数据库里,btime 变成字符串了!!
输出为:
SELECT fm_film.id, Film_startime, Film_endtime,Location_atiude,Location_longitude,fm_film.device_number,device_region,device_host,IsVerify FROM fm_device RIGHT OUTER JOIN fm_film ON fm_device.device_number =fm_film.device_number where (IsVerify=0) and (Film_endtime between '2010-03-15' and '2010-03-16') order by fm_film.id desc "
SqlStr = "SELECT fm_film.id, Film_startime, Film_endtime,Location_atiude,Location_longitude,fm_film.device_number,device_region,device_host,IsVerify FROM fm_device RIGHT OUTER JOIN fm_film ON fm_device.device_number =fm_film.device_number where (IsVerify=0) and (Film_endtime between '{0}' and '{1}') order by fm_film.id desc ";SqlStr =string.Format(SqlStr,btime,etime);
改成:
(Film_endtime between CONVERT(vchar(20)'" + btime + "',120) and CONVERT(vchar(20)'" + etime + "',120))
是怎么样的???