求解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)”最匹配的重载方法具有一些无效参数”。不甚感激!
展开
 我来答
lzh3452
2013-06-18 · TA获得超过1044个赞
知道小有建树答主
回答量:1168
采纳率:100%
帮助的人:862万
展开全部

上面的问题不需要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方法可以删除指定行。
百度网友b23c89c94
2013-06-17 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:119
采纳率:100%
帮助的人:115万
展开全部
可以给button 绑定一个数据库里面的id,然后通过语句int id =Convert.ToInt32(this.GridView1.DataKeys[e.RowIndex].Value);取得id,再根据id查询数据库里的数据并插入另一个表即可
追问
具体实现的代码呢?因为在代码中必须是if查出来结果,then在实现往数据库里插入表,麻烦可以写下具体过程吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友08f6db01a
2013-06-17 · TA获得超过257个赞
知道小有建树答主
回答量:345
采纳率:50%
帮助的人:111万
展开全部
{
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都会有查询结果出来。谢谢~麻烦帮忙看看~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式