如何使用多重选择列表框进行更新 [英] how to update using multiselect listbox

查看:74
本文介绍了如何使用多重选择列表框进行更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

专家您好,

我正在使用multiselect列表框更新Evnts.我正在使用mysql作为后端.

crm_user_evnt_assigned 包含3个字段,id(autoinc),user_id和event_id.

我正在为选定的事件使用foreach循环

就像

Hi expert,

I am using multiselect listbox for updating Evnts.I am using mysql as backend.

table crm_user_evnt_assigned contains 3 field ,id(autoinc) ,user_id and event_id.

I am using foreach loop for selected events

like

foreach (ListItem lstAssign in lstEvent.Items)
                {
                    if (lstAssign.Selected == true)
                    {
                        command1 = new MySqlCommand(QueryUserEventAssign, connect);
                        command1.Parameters.AddWithValue("?user_id", CurrentUserId);

                        int eventAssignID = Convert.ToInt32(lstAssign.Value);
                        command1.Parameters.AddWithValue("?event_id", eventAssignID);
                        command1.ExecuteNonQuery();
                    }
                }




1.仅当未为特定的user_id分配event_id时,我才能编写插入查询.

2.如果特定的user_id的旧event_id不匹配,如何删除现有行.

3.如果当前的user_id和event_id与旧的相同,则不执行任何操作.




1. How i can write query for insert only if event_id not assigned for perticular user_id.

2. How to delete existing row if old event_id for perticular user_id not match.

3. do nothing if current user_id and event_id are sames as old one.

推荐答案

查询将采用这种方式.

query will be somehow like this.

Declare @myEvtID int 
Declare @myUserID int
Declare @savedEvtID int

IF (Select Count(*) from crm_user_evnt_assigned cuea WHERE cuea.user_id = @myUserID) < 1
THEN
   /*Insert Query write here */
Else
   Select @savedEvtID=cuea.event_id from crm_user_evnt_assigned cuea where cuea.user_id = @myUserID
   IF(@myEvtID <> @savedEvtID)
   THEN
       /*write update query here*/
   Else
       /*No Need for Else part. this part will be accesses when current event id is equal to previously saved event_id.*/

End IF



希望它会有用.如果它工作正常甚至在使用过程中您发现问题,都应该做出响应.



Hope it will be useful. should response if it work fine or even it you find issues while using it.


hmm ..然后您需要在首次加载时将数据表存储在会话中,并将其用于查询中的决策.


hmm..then you need to store datatable in session while first load and use it for decision making in you query.
i.e.

DataTable dt = ((DataTable) Session["crm_user_evnt_assigned"]);
foreach (ListItem lstAssign in lstEvent.Items)
                {
                    if (lstAssign.Selected == true)
                    {
                      if(((DataRow())dt.Select("user_id=" & CurrentUserId)).Count < 1)
                       {
                          //Insert Query place here
                       }
                       else
                       {
                         int dbEventID = dt.Select("user_id=" & CurrentUserId)[0]["event_id"];
                         if(dbEventID != eventAssignID)
                         {
                            //Update Query to be placed here.
                         }  
                       }
                      
                  }


这篇关于如何使用多重选择列表框进行更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆