sqldataadapter 使用参数执行SQL语句

代码如下:stringstrConn="********"SqlConnectionconn=newSqlConnection(strConn);stringsql="s... 代码如下:
string strConn ="********"
SqlConnection conn = new SqlConnection(strConn);
string sql = "select a,b,c,d from 表 where a='@UserName' and b between '@Time1' and '@Time2'";

try
{

SqlDataAdapter da = new SqlDataAdapter(sql, conn);
SqlParameter[] prams ={ new SqlParameter("@UserName", SqlDbType.VarChar), new SqlParameter("@Time1", SqlDbType.DateTime), new SqlParameter("@Time2", SqlDbType.DateTime) };

prams[0].Value = this.TextBox1.Text;
prams[1].Value = Convert.ToDateTime(this.TextBox3.Text);
prams[2].Value = Convert.ToDateTime(this.TextBox4.Text);

foreach (SqlParameter Parameter in prams)
{
da.SelectCommand.Parameters.Add(Parameter);
}
DataSet ds = new DataSet();
conn.Open();
da.Fill(ds, "cardHistory1");
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
conn.Close();

此段代码提示错误:从字符串转换为 datetime 时发生语法错误。

请问如何解决!!
展开
 我来答
zhangbo99_net
2010-01-21 · TA获得超过1465个赞
知道大有可为答主
回答量:922
采纳率:0%
帮助的人:1233万
展开全部
string sql = "select a,b,c,d from 表 where a=@UserName and b between @Time1 and @Time2";

用参数,不用再加'
经常上网的猫
2010-01-21 · TA获得超过1097个赞
知道小有建树答主
回答量:645
采纳率:0%
帮助的人:628万
展开全部
2楼说的对。用了参数法。sql语句中@para旁边是不用加''的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jack87918
2010-01-20 · TA获得超过2048个赞
知道小有建树答主
回答量:1618
采纳率:100%
帮助的人:1457万
展开全部
prams[1].Value = Convert.ToDateTime(this.TextBox3.Text);
prams[2].Value = Convert.ToDateTime(this.TextBox4.Text);

这两句不行吧 TextBox里的是字符串类型的,貌似不能强制转换成datetime类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式