求解c#问题:1、多项查询 2、我在gridview中添加了一个按钮,如何将选定的行添加到另一个数据库表中。
1、关于多项查询,我设了四个查询,,用户查询可以用任何一个条件,点击一个button即可,怎么样写代码?麻烦写出具体的步骤以及整体的代码示例,这是我的部分代码,实在不会,...
1、关于多项查询,我设了四个查询,,用户查询可以用任何一个条件,点击一个button即可,怎么样写代码?麻烦写出具体的步骤以及整体的代码示例,这是我的部分代码,实在不会,用的是if嵌套,有24种可能,请大家改正。用的是vs2005
if (TextBox1.Text == null) { if (DropDownList1.Text == null) { if (DropDownList2.Text == null) {if (TextBox2.Text != null && TextBox3.Text != null) {string str = "select 项目名 from preprojects where 招商截止时间>='" + TextBox2.Text + "'and 招商截止时间<='" + TextBox3.Text + "'"; SqlDataAdapter da1 = new SqlDataAdapter(str, conn); DataSet ds1 = new DataSet(); da.Fill(ds1); GridView1.DataSource = ds1; GridView1.DataBind(); }}
2、
怎样将gridview1选中的一行插入到数据库中的另一个表中,也是不会,方法特笨,代码如下:
if (e.CommandName == "insert") {SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["information"].ToString()); conn.Open();
string str = GridView1.Rows[int.Parse(e.CommandArgument)].Cells[0].Text.ToString(); 省略
SqlCommand cmd = new SqlCommand("insert into preprojects values (" + num + ",'" + str1 + "',,'" + str2 + "',,'" + str3 + "',,'" + str4 + "','" + str5 + "','" + str6 + "','" + str7 + "','" + str8 + "','" + dt1 + "','" + str10 + "','" + str11 + "')",conn);后省略。。
最终结果:第一个button怎么点也不出结果,没有任何错误显示。第二个显示“与“int.Parse(string)”最匹配的重载方法具有一些无效参数”。不甚感激! 展开
if (TextBox1.Text == null) { if (DropDownList1.Text == null) { if (DropDownList2.Text == null) {if (TextBox2.Text != null && TextBox3.Text != null) {string str = "select 项目名 from preprojects where 招商截止时间>='" + TextBox2.Text + "'and 招商截止时间<='" + TextBox3.Text + "'"; SqlDataAdapter da1 = new SqlDataAdapter(str, conn); DataSet ds1 = new DataSet(); da.Fill(ds1); GridView1.DataSource = ds1; GridView1.DataBind(); }}
2、
怎样将gridview1选中的一行插入到数据库中的另一个表中,也是不会,方法特笨,代码如下:
if (e.CommandName == "insert") {SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["information"].ToString()); conn.Open();
string str = GridView1.Rows[int.Parse(e.CommandArgument)].Cells[0].Text.ToString(); 省略
SqlCommand cmd = new SqlCommand("insert into preprojects values (" + num + ",'" + str1 + "',,'" + str2 + "',,'" + str3 + "',,'" + str4 + "','" + str5 + "','" + str6 + "','" + str7 + "','" + str8 + "','" + dt1 + "','" + str10 + "','" + str11 + "')",conn);后省略。。
最终结果:第一个button怎么点也不出结果,没有任何错误显示。第二个显示“与“int.Parse(string)”最匹配的重载方法具有一些无效参数”。不甚感激! 展开
4个回答
展开全部
上面的问题不需要if嵌套,只要四个if就行了,SQL使用字符串拼接的方式得到,例如:
strSQL = "select 项目名 from preprojects where ";
if ("" != textbox1.Text)
{
strSQL += "项目名称 = '" + textbox1.Text + "' AND ";
}
if ("" != textbox2.Text)
{
strSQL += "招商地区 = '" + textbox2.Text + "' AND ";
}
。。。
strSQL = strSQL.TrimEnd(" AND ");//最后删除后面多余的一个AND字符串
Button那个应该是e.CommandArgument下面的一个叫什么index的属性,你点一下就能看到了。
追问
谢谢,麻烦再请问一个问题,就是2中,我在gridview中加了一个buttonfield,在RowCommand中写代码,使得选中的行插入到另一个表中,但是在此同时删除该gridview中这行的数据,代码怎么写呢?就是,插入的那个cmd.executenonquery已经实现了,如何让其继续实现删除的cmd1.executenonquery?我的运行出的问题是:插入可以实现,但是无法继续删除了。
追答
你的意思是,通过的数据应该从列表中删除是吧?那直接在执行完之后,用GridView的DeleteRow方法可以删除指定行。
展开全部
可以给button 绑定一个数据库里面的id,然后通过语句int id =Convert.ToInt32(this.GridView1.DataKeys[e.RowIndex].Value);取得id,再根据id查询数据库里的数据并插入另一个表即可
追问
具体实现的代码呢?因为在代码中必须是if查出来结果,then在实现往数据库里插入表,麻烦可以写下具体过程吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
{
string str = "select 项目名 from preprojects where 招商截止时间>='" + TextBox2.Text + "'and 招商截止时间<='" + TextBox3.Text + "'"+" and 招商地区=‘"+(DropDownList1.Text+“’”"+" and 项目类型=‘"+(DropDownList2.Text+“’”;
SqlDataAdapter da1 = new SqlDataAdapter(str, conn);
DataSet ds1 = new DataSet();
da.Fill(ds1);
GridView1.DataSource = ds1;
GridView1.DataBind();
}}
string str = "select 项目名 from preprojects where 招商截止时间>='" + TextBox2.Text + "'and 招商截止时间<='" + TextBox3.Text + "'"+" and 招商地区=‘"+(DropDownList1.Text+“’”"+" and 项目类型=‘"+(DropDownList2.Text+“’”;
SqlDataAdapter da1 = new SqlDataAdapter(str, conn);
DataSet ds1 = new DataSet();
da.Fill(ds1);
GridView1.DataSource = ds1;
GridView1.DataBind();
}}
追问
我写了要实现怎样的功能,但是被图片遮住了,我是想让用户随便选中哪一项都会有结果出来,而不是全部必须填写。麻烦你了,可以再帮我看看嘛?
追答
strSQL = "select 项目名 from preprojects where ";
if ( textbox1.Text.trim().length>0)
{
strSQL += "项目名称 = '" + textbox1.Text + "' AND ";
}
if (textbox2.Text.trim().length>0)
{
strSQL += "招商地区 = '" + textbox2.Text + "' AND ";
}
if (DropDownList1.Text.trim().length>0)
{
strSQL += "招商地区 = '" + DropDownList1.Text + "' AND ";
}
if (DropDownList2.Text.trim().length>0)
{
strSQL += "招商地区 = '" + DropDownList2.Text + "'";
}
strSQL = strSQL;
SqlDataAdapter da1 = new SqlDataAdapter(str, conn);
DataSet ds1 = new DataSet();
da.Fill(ds1);
GridView1.DataSource = ds1;
GridView1.DataBind();
对于
插入到另一个表SqlCommand cmd = new SqlCommand("insert into from db_temp_word() values ("","")"",conn);
conn.Open();
int linesInsert = cmd.ExecuteNonQuery();
conn.Close();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-17
展开全部
你可以说说你要实现什么样的功能么?
追问
我写了,却被图片遮住了,汗,1是想实现让用户随便填写四个项哪一项,点击button都会有查询结果出来。谢谢~麻烦帮忙看看~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询