'==========================增删改部分=================================
'取得当前系统时间
date1 = ComDate.GetSysDate
strSql = String.Empty'====================================================================== For i = 0 To dt2.Rows.Count - 1 '删除的情况 StrShangdian_code = Trim(txtCode.Text)
StrFuzeren_code = strFuzeren If dt2.Rows(i).Item(0) = "DC" Then
StrPeisong_fenlei = "1"
ElseIf dt2.Rows(i).Item(0) = "TC(按商店不同送货)" Then
StrPeisong_fenlei = "2"
ElseIf dt2.Rows(i).Item(0) = "TC(送货总数)" Then
StrPeisong_fenlei = "3"
ElseIf dt2.Rows(i).Item(0) = "直送" Then
StrPeisong_fenlei = "4"
End If If dt2.Rows(i).Item(1) = "普通品" Then
StrTebiepeisong_fenlei = "1"
ElseIf dt2.Rows(i).Item(1) = "消耗品" Then
StrTebiepeisong_fenlei = "2"
ElseIf dt2.Rows(i).Item(1) = "库存货物" Then
StrTebiepeisong_fenlei = "3"
End If If dt2.Rows(i).Item(2) = "○" Then
StrPeisong_Sun = "1"
ElseIf dt2.Rows(i).Item(2) = "×" Then
StrPeisong_Sun = "0"
End If
If dt2.Rows(i).Item(3) = "○" Then
StrPeisong_Mon = "1"
ElseIf dt2.Rows(i).Item(3) = "×" Then
StrPeisong_Mon = "0"
End If If dt2.Rows(i).Item(4) = "○" Then
StrPeisong_Tue = "1"
ElseIf dt2.Rows(i).Item(4) = "×" Then
StrPeisong_Tue = "0"
End If If dt2.Rows(i).Item(5) = "○" Then
StrPeisong_Wed = "1"
ElseIf dt2.Rows(i).Item(5) = "×" Then
StrPeisong_Wed = "0"
End If
If dt2.Rows(i).Item(6) = "○" Then
StrPeisong_Thu = "1"
ElseIf dt2.Rows(i).Item(6) = "×" Then
StrPeisong_Thu = "0"
End If
If dt2.Rows(i).Item(7) = "○" Then
StrPeisong_Fri = "1"
ElseIf dt2.Rows(i).Item(7) = "×" Then
StrPeisong_Fri = "0"
End If
If dt2.Rows(i).Item(8) = "○" Then
StrPeisong_Sat = "1"
ElseIf dt2.Rows(i).Item(8) = "×" Then
StrPeisong_Sat = "0"
End If
StrDeleteFlag = "0"
StrEntryDate = Format(date1, "yyyy/MM/dd HH:mm:ss")
StrEntryUser = strUserId
StrUpdateDate = Format(date1, "yyyy/MM/dd HH:mm:ss")
StrUpdateUser = strUserId
If dt2.Rows(i).RowState = DataRowState.Deleted Then strSql = String.Empty strSql = strSql & " UPDATE " & cTABLE_NAME & " SET " strSql = strSql & " DeleteFlag = '1'," '删除标志
strSql = strSql & " UpdateDate = " & "'" & Format(date1, "yyyy/MM/dd HH:mm:ss") & "'," '最終更新日
strSql = strSql & " UpdateUser = " & "'" & strUserId & "' " '最終更新者 strSql = strSql & " where Shangdian_code =" & "'" & StrShangdian_code & "'"
strSql = strSql & " and Fuzeren_Code = " & "'" & StrFuzeren_code & "'" strSql = strSql & " and Kucun_fenlei = " & "'" & StrPeisong_fenlei & "'"
strSql = strSql & " and Tebiepeisong_fenlei = " & "'" & StrTebiepeisong_fenlei & "'" strSql = strSql & " and Peisong_Sun = " & "'" & StrPeisong_Sun & "'"
strSql = strSql & " and Peisong_Mon = " & "'" & StrPeisong_Mon & "'"
strSql = strSql & " and Peisong_Tue = " & "'" & StrPeisong_Tue & "'"
strSql = strSql & " and Peisong_Wed = " & "'" & StrPeisong_Wed & "'"
strSql = strSql & " and Peisong_Thu = " & "'" & StrPeisong_Thu & "'"
strSql = strSql & " and Peisong_Fri = " & "'" & StrPeisong_Fri & "'"
strSql = strSql & " and Peisong_Sat = " & "'" & StrPeisong_Sat & "'" intRet = mstDbCls.SetData(strSql) '通过公司定义的函数,执行sql语句,返回受影响的行数.
'================================================================================================ End If Next
'########################################################################################################
For i = 0 To dt2.Rows.Count - 1 '修改的情况 '#############################################
NEXTI_MODIFY: ' 跳转,避免重复值
'#############################################
StrShangdian_code = Trim(txtCode.Text)
StrFuzeren_code = strFuzeren If dt2.Rows(i).Item(0) = "DC" Then
StrPeisong_fenlei = "1"
ElseIf dt2.Rows(i).Item(0) = "TC(按商店不同送货)" Then
StrPeisong_fenlei = "2"
ElseIf dt2.Rows(i).Item(0) = "TC(送货总数)" Then
StrPeisong_fenlei = "3"
ElseIf dt2.Rows(i).Item(0) = "直送" Then
StrPeisong_fenlei = "4"
End If If dt2.Rows(i).Item(1) = "普通品" Then
StrTebiepeisong_fenlei = "1"
ElseIf dt2.Rows(i).Item(1) = "消耗品" Then
StrTebiepeisong_fenlei = "2"
ElseIf dt2.Rows(i).Item(1) = "库存货物" Then
StrTebiepeisong_fenlei = "3"
End If If dt2.Rows(i).Item(2) = "○" Then
StrPeisong_Sun = "1"
ElseIf dt2.Rows(i).Item(2) = "×" Then
StrPeisong_Sun = "0"
End If
If dt2.Rows(i).Item(3) = "○" Then
StrPeisong_Mon = "1"
ElseIf dt2.Rows(i).Item(3) = "×" Then
StrPeisong_Mon = "0"
End If If dt2.Rows(i).Item(4) = "○" Then
StrPeisong_Tue = "1"
ElseIf dt2.Rows(i).Item(4) = "×" Then
StrPeisong_Tue = "0"
End If If dt2.Rows(i).Item(5) = "○" Then
StrPeisong_Wed = "1"
ElseIf dt2.Rows(i).Item(5) = "×" Then
StrPeisong_Wed = "0"
End If
If dt2.Rows(i).Item(6) = "○" Then
StrPeisong_Thu = "1"
ElseIf dt2.Rows(i).Item(6) = "×" Then
StrPeisong_Thu = "0"
End If
If dt2.Rows(i).Item(7) = "○" Then
StrPeisong_Fri = "1"
ElseIf dt2.Rows(i).Item(7) = "×" Then
StrPeisong_Fri = "0"
End If
If dt2.Rows(i).Item(8) = "○" Then
StrPeisong_Sat = "1"
ElseIf dt2.Rows(i).Item(8) = "×" Then
StrPeisong_Sat = "0"
End If
StrDeleteFlag = "0"
StrEntryDate = Format(date1, "yyyy/MM/dd HH:mm:ss")
StrEntryUser = strUserId
StrUpdateDate = Format(date1, "yyyy/MM/dd HH:mm:ss")
StrUpdateUser = strUserId If dt2.Rows(i).RowState = DataRowState.Modified Then '======================================如出现DATATABLE当前行主键值和数据库中重复问题,则跳转===========
strSql = String.Empty For k = 0 To dt2.Rows.Count - 1 strSql = strSql & " select Shangdian_code ,Fuzeren_Code,Kucun_fenlei from " & cTABLE_NAME
strSql = strSql & " where Shangdian_code =" & "'" & StrShangdian_code & "'"
strSql = strSql & " and Fuzeren_Code = " & "'" & StrFuzeren_code & "'"
strSql = strSql & " and Kucun_fenlei = " & "'" & StrPeisong_fenlei & "'"
mstDsCls = mstDbCls.GetData(strSql)
'通过公司定义的函数,执行sql语句,取得datatable当前行数,datatable当前行数是mstDsCls.GetRecordCount. If mstDsCls.GetRecordCount <> 0 Then
If i < dt2.Rows.Count - 1 Then
i = i + 1
GoTo NEXTI_MODIFY ElseIf i >= dt2.Rows.Count - 1 Then
GoTo ENDI_MODIFY
End If
End If Next
'===================================如没有出错,则对该行操作============================================
strSql = String.Empty strSql = strSql & " UPDATE " & cTABLE_NAME & " SET "
strSql = strSql & " Shangdian_code = " & "'" & StrShangdian_code & "'," '店舗名 strSql = strSql & " Fuzeren_Code = " & "'" & StrFuzeren_code & "',"
strSql = strSql & " Kucun_fenlei = " & "'" & StrPeisong_fenlei & "',"
strSql = strSql & " Tebiepeisong_fenlei = " & "'" & StrTebiepeisong_fenlei & "'," strSql = strSql & " Peisong_Sun = " & "'" & StrPeisong_Sun & "',"
strSql = strSql & " Peisong_Mon = " & "'" & StrPeisong_Mon & "',"
strSql = strSql & " Peisong_Tue = " & "'" & StrPeisong_Tue & "',"
strSql = strSql & " Peisong_Wed = " & "'" & StrPeisong_Wed & "',"
strSql = strSql & " Peisong_Thu = " & "'" & StrPeisong_Thu & "',"
strSql = strSql & " Peisong_Fri = " & "'" & StrPeisong_Fri & "',"
strSql = strSql & " Peisong_Sat = " & "'" & StrPeisong_Sat & "',"
strSql = strSql & " UpdateDate = " & "'" & Format(date1, "yyyy/MM/dd HH:mm:ss") & "'," '最終更新日
strSql = strSql & " UpdateUser = " & "'" & strUserId & "' " '最終更新者
intRet = mstDbCls.SetData(strSql)'通过公司定义的函数,执行sql语句,返回受影响的行数.
'================================================================================================
End If Next
'#############################################
ENDI_MODIFY: '结束跳出循环.
'#############################################
'#############################################
NEXTI_ADD: ' 跳转,避免重复值
'############################################# '############################################################################
'############# 20080414 FU ZHI ############
StrShangdian_code = Trim(txtCode.Text)
StrFuzeren_code = strFuzeren If dt2.Rows(i).Item(0) = "DC" Then
StrPeisong_fenlei = "1"
ElseIf dt2.Rows(i).Item(0) = "TC(按商店不同送货)" Then
StrPeisong_fenlei = "2"
ElseIf dt2.Rows(i).Item(0) = "TC(送货总数)" Then
StrPeisong_fenlei = "3"
ElseIf dt2.Rows(i).Item(0) = "直送" Then
StrPeisong_fenlei = "4"
End If If dt2.Rows(i).Item(1) = "普通品" Then
StrTebiepeisong_fenlei = "1"
ElseIf dt2.Rows(i).Item(1) = "消耗品" Then
StrTebiepeisong_fenlei = "2"
ElseIf dt2.Rows(i).Item(1) = "库存货物" Then
StrTebiepeisong_fenlei = "3"
End If If dt2.Rows(i).Item(2) = "○" Then
StrPeisong_Sun = "1"
ElseIf dt2.Rows(i).Item(2) = "×" Then
StrPeisong_Sun = "0"
End If
If dt2.Rows(i).Item(3) = "○" Then
StrPeisong_Mon = "1"
ElseIf dt2.Rows(i).Item(3) = "×" Then
StrPeisong_Mon = "0"
End If If dt2.Rows(i).Item(4) = "○" Then
StrPeisong_Tue = "1"
ElseIf dt2.Rows(i).Item(4) = "×" Then
StrPeisong_Tue = "0"
End If If dt2.Rows(i).Item(5) = "○" Then
StrPeisong_Wed = "1"
ElseIf dt2.Rows(i).Item(5) = "×" Then
StrPeisong_Wed = "0"
End If
If dt2.Rows(i).Item(6) = "○" Then
StrPeisong_Thu = "1"
ElseIf dt2.Rows(i).Item(6) = "×" Then
StrPeisong_Thu = "0"
End If
If dt2.Rows(i).Item(7) = "○" Then
StrPeisong_Fri = "1"
ElseIf dt2.Rows(i).Item(7) = "×" Then
StrPeisong_Fri = "0"
End If
If dt2.Rows(i).Item(8) = "○" Then
StrPeisong_Sat = "1"
ElseIf dt2.Rows(i).Item(8) = "×" Then
StrPeisong_Sat = "0"
End If
StrDeleteFlag = "0"
StrEntryDate = Format(date1, "yyyy/MM/dd HH:mm:ss")
StrEntryUser = strUserId
StrUpdateDate = Format(date1, "yyyy/MM/dd HH:mm:ss")
StrUpdateUser = strUserId If dt2.Rows(i).RowState = DataRowState.Added Then
strSql = String.Empty '################如出现DATATABLE当前行主键值和数据库中重复问题,则跳转##############################
strSql = strSql & " select Shangdian_code ,Fuzeren_Code,Kucun_fenlei from " & cTABLE_NAME
strSql = strSql & " where Shangdian_code =" & "'" & StrShangdian_code & "'"
strSql = strSql & " and Fuzeren_Code = " & "'" & StrFuzeren_code & "'"
strSql = strSql & " and Kucun_fenlei = " & "'" & StrPeisong_fenlei & "'"
mstDsCls = mstDbCls.GetData(strSql)
'通过公司定义的函数,执行sql语句,取得datatable当前行数,datatable当前行数是mstDsCls.GetRecordCount.
If mstDsCls.GetRecordCount <> 0 Then
If i < dt2.Rows.Count - 1 Then
i = i + 1
GoTo NEXTI_ADD ElseIf i >= dt2.Rows.Count - 1 Then
GoTo ENDI_ADD
End If
End If '################如没有出错,则对该行操作#################
strSql = strSql & "INSERT INTO " & cTABLE_NAME strSql = strSql & " ("
strSql = strSql & " Shangdian_code ,"
strSql = strSql & " Fuzeren_Code,"
strSql = strSql & " Kucun_fenlei,"
strSql = strSql & " Tebiepeisong_fenlei,"
strSql = strSql & " Peisong_Sun,"
strSql = strSql & " Peisong_Mon,"
strSql = strSql & " Peisong_Tue,"
strSql = strSql & " Peisong_Wed,"
strSql = strSql & " Peisong_Thu,"
strSql = strSql & " Peisong_Fri,"
strSql = strSql & " Peisong_Sat," strSql = strSql & " DeleteFlag,"
strSql = strSql & " EntryDate,"
strSql = strSql & " EntryUser,"
strSql = strSql & " UpdateDate,"
strSql = strSql & " UpdateUser )" strSql = strSql & " VALUES ('"
strSql = strSql & StrShangdian_code & "','"
strSql = strSql & StrFuzeren_code & "','"
strSql = strSql & StrPeisong_fenlei & "','"
strSql = strSql & StrTebiepeisong_fenlei & "','" strSql = strSql & StrPeisong_Sun & "','"
strSql = strSql & StrPeisong_Mon & "','"
strSql = strSql & StrPeisong_Tue & "','"
strSql = strSql & StrPeisong_Wed & "','"
strSql = strSql & StrPeisong_Thu & "','"
strSql = strSql & StrPeisong_Fri & "','"
strSql = strSql & StrPeisong_Sat & "','" strSql = strSql & StrDeleteFlag & "','"
strSql = strSql & StrEntryDate & "','"
strSql = strSql & StrEntryUser & "','"
strSql = strSql & StrUpdateDate & "','"
strSql = strSql & StrUpdateUser & "')" intRet = mstDbCls.SetData(strSql)'通过公司定义的函数,执行sql语句,返回受影响的行数.
End If Next '#############################################
ENDI_ADD: '结束跳出循环
'#############################################
dt2.GetChanges()
'#######################################################################
ViewState("View1") = dt2 '用ViewState保存DATATABLE当前状态.
'#######################################################################
dtgList.DataSource = dt2
dtgList.DataBind()
小弟不才,编程用的是笨办法,致使那么简单的问题代码那么长.
不过单位里的数据库连接函数都是指定的,不许我们用DATAADAPTER来做,真是郁闷.
麻烦请教各位朋友的指点,从心底里感谢大家!!
数据库里放的是数字,放到datatable里就成了圆圈\大叉和文字了,还要对应起来转换,麻烦透了.
另外,先打印strSql看是否完全正确