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 时发生语法错误。
请问如何解决!! 展开
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 时发生语法错误。
请问如何解决!! 展开
展开全部
2楼说的对。用了参数法。sql语句中@para旁边是不用加''的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
prams[1].Value = Convert.ToDateTime(this.TextBox3.Text);
prams[2].Value = Convert.ToDateTime(this.TextBox4.Text);
这两句不行吧 TextBox里的是字符串类型的,貌似不能强制转换成datetime类型
prams[2].Value = Convert.ToDateTime(this.TextBox4.Text);
这两句不行吧 TextBox里的是字符串类型的,貌似不能强制转换成datetime类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询