当前位置:编程学习 > C#/ASP.NET >>

SQL更新多条语句 急!

现在有一些字段
-----
分类,病名,病因,热度,热程,热型,咯血,胸腔渗液,关节炎,肝脾大,腹泻,消化道出血,贫血,休克,眼受累,皮肤病变,脑炎脑膜炎,淋巴结肿大,尿异常,白细胞增多,白细胞减少,嗜酸粒细胞增多
-----
咯血,胸腔渗液,关节炎,肝脾大,腹泻,消化道出血,贫血,休克,眼受累,皮肤病变,脑炎脑膜炎,淋巴结肿大,尿异常,白细胞增多,白细胞减少,嗜酸粒细胞增多
这些字段是0,1来填写进去的,是为了自己懂与CheckBoxList绑定 从而自动打勾来显示病情的症状.
现在要写后台.我已经在一个gridview里显示出了所有数据.而且加了一个"选择列"
让管理员在后台想修改哪条数据就选择好哪条.然后再修改.我没有直接在GV里修改因为那样你点编辑就会变的很长,所有就在下面另外写了一个修改的.从"分类,病名,病因,热度,热程,热型"我都是用了textbox来更新的,但是更新 那些0和1的内容时难住了.怎么来更新多条语句呢? 我倒是写了一个 .但是语法时错误的...自己对SQL不是很熟悉.我吧代码贴出来(是错的啊)大家看看能不能板我改改.谢谢了.
-------------------
try
        {
            string cbx = "";
            cbx = "update 发热分析 set (分类,病名,病因,热度,热程,热型,咯血,胸腔渗液,关节炎,肝脾大,腹泻,消化道出血,贫血,休克,眼受累,皮肤病变,脑炎脑膜炎,淋巴结肿大,尿异常,白细胞增多,白细胞减少,嗜酸粒细胞增多)values('" + this.txtFl.Text + "','" + this.txtBname.Text + "','" + this.txtBy.Text + "','" + this.ddlD.SelectedValue + "','" + this.ddlC.SelectedValue + "','" + this.ddlX.SelectedValue + "','";
            
            for (int j = 0; j < CheckBoxList1.Items.Count; j++)
            {
                if (j != CheckBoxList1.Items.Count - 1)
                {
                    if (CheckBoxList1.Items[j].Selected)
                    {
                        cbx += "1','";
                    }
                    else
                    {
                        cbx += "0','";
                    }
                }
                else
                {
                    if (CheckBoxList1.Items[j].Selected)
                    {
                        cbx += "1') where id= " + this.GridView1.SelectedDataKey["id"].ToString();
                    }
                    else
                    {
                        cbx += "0') where id= " + this.GridView1.SelectedDataKey["id"].ToString();
                    }
                }
            }
            SqlCommand com = new SqlCommand(cbx, con);
            con.Open();
            com.ExecuteNonQuery();
            Label4.Text = "保存成功!";
        }
        catch
        {
            Label4.Text = "保存失败!请选择要修改的病例.";
        }
------------------------
就是更新必须要更新 GV当权选中的值..
我的思路就是这样的..感觉没错.就是SQL的语句不会写. --------------------编程问答-------------------- 在选中GV其中的一个值的时候下面有一个CheckBoxList 自动显示当前的状态(自动打钩了)

管理员可以点清空按钮来清除所有的数据,然后在通过CheckBoxList自己选择 然后更新到数据库

里就是这个需求 --------------------编程问答-------------------- SQL基本語法沒弄清楚。

插入

Insert TEST(ID, Name, Age) Values(1, 'A', 18)

更新

Update TEST Set Name = 'B', Age = 20 Where ID = 1 --------------------编程问答-------------------- 我知道  !!!我要的是方法...

没看到吗 我一再说 我写的是错的写出来是为了让大家看清楚思路..

晕死 --------------------编程问答-------------------- 寫出基本語法,就是為了讓你能自己根據基本語法寫出你的實際語句。


cbx = "update 发热分析 set (分类,病名,病因,热度,热程,热型,咯血,胸腔渗液,关节炎,肝脾大,腹泻,消化道出血,贫血,休克,眼受累,皮肤病变,脑炎脑膜炎,淋巴结肿大,尿异常,白细胞增多,白细胞减少,嗜酸粒细胞增多)values('" + this.txtFl.Text + "','" + this.txtBname.Text + "','" + this.txtBy.Text + "','" + this.ddlD.SelectedValue + "','" + this.ddlC.SelectedValue + "','" + this.ddlX.SelectedValue + "','";


你這段代易做图,前面字段和後面的數據的個數都不一致,沒誰能給你改寫出來。 --------------------编程问答-------------------- 肏!!!!!!!!!!!!!!!

你Y会不会 楼上的!!!

看到后面有循环了吗???

那是加到后面的!!  易做图  看不完,看不懂别TM瞎BB 

--------------------编程问答-------------------- 沒注意到你後面的循環是我的疏忽,但是說話給我客氣點。

你的基本語法都不對,所以首先當然是要改正你上面代易做图中的SQL語法。 --------------------编程问答-------------------- 就楼主这学习的态度,撤退 --------------------编程问答-------------------- 楼主态度不是很好哦,好久没搞过.net了,记得以前做过类似的东西,好像是用dataset吧,把要更新的值记录下来,最后提交到数据库。 --------------------编程问答-------------------- 是你不仔细看我说的问题...

我本来就说我的SQL语句是错误的 我只是响表明下我的思路 你自己仔细看看..本来就说我的是错误的!!!!!!

你还一直在这里说 错误的错误的...

有意思么 --------------------编程问答-------------------- 你是說你的語句是錯的,但是我現在告訴你正確的SQL語法,有什麼矛盾嗎?

再說了,我的確是沒有注意那個循環.

我首先就看到那個基本SQL語句錯誤,我給你指出來,這就是你罵人的理由嗎? --------------------编程问答-------------------- 肏!!!!!!!!!!!!!!!
------------------------------------
这个是什么字? 

另外,LZ不太好意思,偶没看明白问题.. --------------------编程问答-------------------- 路过看看 --------------------编程问答-------------------- 请 莫要骂人.
大家来这里都是为了 学习提高和探讨问题.
对于这样的回答.
一个字: 删. --------------------编程问答-------------------- 本来就很着急了  一直出错  我说的本来就是错的   你还找我说的说是错的...

我能不郁闷不!!  能不着急么... --------------------编程问答-------------------- 刚才又仔细看了下
原来骂人的 还是楼主.

你既然要向人学习 求知 就该虚心求教
你这样的态度 实在让人难于忍受

---------------
此贴 晚上 删除.

----------------

请大家以后 注意用语.
--------------------编程问答-------------------- 再着急也不骂人~ --------------------编程问答-------------------- 楼主,人家指出你的错误即使误会也是在帮你,你反而张口骂人,太不厚道了~ --------------------编程问答-------------------- 做人懂礼貌是最基本的,哪怕是因为问题解决不了着急的时候,即使别人帮不了你什么,但至少他有一颗想帮你的心,这是最重要的。
------------------------------------------
  这年头,态度差的大家拱着脸子往上贴,我一向那么谦虚有礼,还给那么丰厚的分,还是很多问题解决不了。这世道。。。
  打雷了,下雨收衣服了。。。 --------------------编程问答-------------------- 态度恶劣~~这年头,问问题的人都不谦虚,拽~!闪人! --------------------编程问答-------------------- 路过 --------------------编程问答-------------------- 问问题都不谦虚 --------------------编程问答-------------------- YouMax() ( ) 信誉:100  2007-8-8 14:34:18  得分: 0  
 
 
   
本来就很着急了  一直出错  我说的本来就是错的   你还找我说的说是错的...

我能不郁闷不!!  能不着急么...

 
-------------
你知道錯了,但是不知道錯在哪。

我寫出基本語法,告訴你錯在哪。

這也沒有什麼問題?
--------------------编程问答-------------------- 楼主的心态最好不要搞程序了,去做业务吧, --------------------编程问答-------------------- 路过 --------------------编程问答-------------------- "Update 发热分析 Set [分类]='"+this.txtFl.Text+"',[]='"+.....+"  Where id= '" + this.GridView1.SelectedDataKey["id"].ToString()+"'";


一个一个的赋值。。。。。。。
--------------------编程问答-------------------- 做循环的话,也就是让对应的字段与之对应

string[] str={"[咯血]","[胸腔渗液]",......,"[嗜酸粒细胞增多]"};
for(int i=0;i<16;i++)
{
if (CheckBoxList1.Items[i].Selected)
                    {
                        cbx += str[i]+"='1',";
                    }
                    else
                    {
                        cbx += str[i]+"='0',";
                    }
} --------------------编程问答-------------------- CSDN还有多少这样的粗人,都踢了吧,管理员有责任净化环境 --------------------编程问答-------------------- 路过 --------------------编程问答-------------------- string cbx = "";
            cbx = "update 发热分析 set (分类,病名,病因,热度,热程,热型,咯血,胸腔渗液,关节炎,肝脾大,腹泻,消化道出血,贫血,休克,眼受累,皮肤病变,脑炎脑膜炎,淋巴结肿大,尿异常,白细胞增多,白细胞减少,嗜酸粒细胞增多)values('" + this.txtFl.Text + "','" + this.txtBname.Text + "','" + this.txtBy.Text + "','" + this.ddlD.SelectedValue + "','" + this.ddlC.SelectedValue + "','" + this.ddlX.SelectedValue + "','";


这样写是不是会显得很烦呢 
如果用带参数的存储过程做难道不是很清晰吗?  
大家说是吗?
--------------------编程问答-------------------- LZ人品太差 拒绝回答问题  签定完毕! --------------------编程问答-------------------- 路过 --------------------编程问答-------------------- 先学基本语法吧 --------------------编程问答-------------------- 楼主人品太差劲,建议版主删除这种帖子,禁止发言以示警告 --------------------编程问答-------------------- 我貌似知道问题在哪里。但是我不敢说,我怕错了,被你骂。 --------------------编程问答--------------------
引用 34 楼 fei7407183 的回复:
我貌似知道问题在哪里。但是我不敢说,我怕错了,被你骂。

呵呵 --------------------编程问答-------------------- 林子大了什么JB鸟都有,就这吊人,不理也罢 --------------------编程问答-------------------- 你这帖子沉了吧  --------------------编程问答-------------------- update   发热分析   set   A=‘’,B=‘’
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,