本帖最后由 C.L 于 2010-4-1 10:27 编辑
看了你的源码, 在日期处理上,你的日期输入框是按照数据库读出的数据类型来确定是否建立日期输入框,而写入数据库该字段的数却是从这个输入框读到的字符串,这就有问题了,数据库这个字段定义为datatime,写入的只有日期没有时间,所以listview后面的一串0,是必然的.
我帮你改了一下adds()这个函数,可以解决你上面的问题.Func adds($w, $arr) ;建立Label(数量)
For $i = 0 To $w - 1
$y = StringSplit($arr[$i + 1], " ") ;以指定分隔符把字符串拆分成若干子串,返回一个数组,第一个元素($array[0])保存拆分后子串的数量,其余元素($array[1],$array[2] 等等)则保存着拆分后的每个字符串
$linshi =StringRight($arr[$i + 1],8)
If $linshi = 'datetime' Then
Local $DTM_SETFORMAT_, $style
$ninput[$i] = GUICtrlCreateDate("", 340, 355 + 20 * $i, 450, 20)
$DTM_SETFORMAT_ = 0x1032 ; $DTM_SETFORMATW
$style = "yyyy/MM/dd HH:mm:ss"
GUICtrlSendMsg($ninput[$i], $DTM_SETFORMAT_, 0, $style)
;~ $ninput[$i]=GUICtrlCreateDate("", 340, 355 + 20 * $i, 450, 20)
Else
$ninput[$i] = GUICtrlCreateInput("", 340, 355 + 20 * $i, 450, 20)
EndIf
$nLabel[$i] = GUICtrlCreateLabel($y[1], 280, 355 + 20 * $i, 60, 20)
Next
EndFunc ;==>adds
|