Code: Select all
XIncludeFile "MySQL_const.pbi"
Structure znb_user
  uuid_user.s{38} ;文本型。user 全球唯一编号。
  organization_UUID.s{38} ;文本型。organization 全球唯一编号。
  sUsername.s{50} ;文本型。用户名。
  sTrueName.s{50} ;文本型。真名。
  sPasswordMD5.s{50}  ;文本型。密码MD5值去后面23位。
  sUserTel.s{50}  ;文本型。用户电话号码。
  sUserEMail.s{50}  ;文本型。用户电子邮箱。
  iWrite.l  ;整数型。是否可写。1:可写;0:不可写。
  iPrivilege.l  ;整数型。权限。0:本公司管理员;1:客户公司管理员;2:在线监测员。
  sUserMemo.s{255}  ;文本型。用户备注。
  userCreateDate.s{19} ;日期时间型。用户创建时间。如:2023-03-20 09:40:29 总共19个字符
  userUpdateDate.s{19}  ;日期时间型。用户的修改时间。
  isBloocked.l  ;整数型。是否被阻止。0:不阻止。1:阻止;
EndStructure
Procedure.s insert_znb_user(mysql_conn,*user.znb_user)
  
  If mysql_conn<=0
    ProcedureReturn #MySQL_DB_link_Less_equal_To_0
  EndIf
  
  If IsDatabase(mysql_conn)=0
    ProcedureReturn #MySQL_DB_link_Not_exist
  EndIf
  
  sSql.s="INSERT INTO `user`(`uuid_user`, `organization_UUID`, `sUsername`, `sTrueName`, `sPasswordMD5`, `sUserTel`, `sUserEMail`, `iWrite`, `iPrivilege`, `sUserMemo`, `userCreateDate`, `userUpdateDate`, `isBloocked`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
  SetDatabaseString(mysql_conn,0,*user\uuid_user)
  SetDatabaseString(mysql_conn,1,*user\organization_UUID)
  SetDatabaseString(mysql_conn,2,*user\sUsername)  
  SetDatabaseString(mysql_conn,3,*user\sTrueName)
  SetDatabaseString(mysql_conn,4,*user\sPasswordMD5)
  SetDatabaseString(mysql_conn,5,*user\sUserTel)
  SetDatabaseString(mysql_conn,6,*user\sUserEMail)
  SetDatabaseLong(mysql_conn,7,*user\iWrite)
  SetDatabaseLong(mysql_conn,8,*user\iPrivilege)
  SetDatabaseString(mysql_conn,9,*user\sUserMemo)
  SetDatabaseString(mysql_conn,10,*user\userCreateDate)
  SetDatabaseString(mysql_conn,11,*user\userUpdateDate)
  SetDatabaseLong(mysql_conn,12,*user\isBloocked)
  DatabaseUpdate(mysql_conn,sSql)
  ProcedureReturn DatabaseError()
EndProcedure
Code: Select all
XIncludeFile "MySQLFuntions/uuid.pbi"
XIncludeFile "MySQLFuntions/MySQL_includes.pbi"
; Structure znb_user
;   uuid_user.s{38} ;文本型。user 全球唯一编号。
;   organization_UUID.s{38} ;文本型。organization 全球唯一编号。
;   sUsername.s{50} ;文本型。用户名。
;   sTrueName.s{50} ;文本型。真名。
;   sPasswordMD5.s{50}  ;文本型。密码MD5值去后面23位。
;   sUserTel.s{50}  ;文本型。用户电话号码。
;   sUserEMail.s{50}  ;文本型。用户电子邮箱。
;   iWrite.l  ;整数型。是否可写。1:可写;0:不可写。
;   iPrivilege.l  ;整数型。权限。0:本公司管理员;1:客户公司管理员;2:在线监测员。
;   sUserMemo.s{255}  ;文本型。用户备注。
;   userCreateDate.l  ;日期时间型。用户创建时间。
;   userUpdateDate.l  ;日期时间型。用户的修改时间。
;   isBloocked.l  ;整数型。是否被阻止。0:不阻止。1:阻止;
; EndStructure
user.znb_user
uuid.UUID
uuid_Create(@uuid)
user\uuid_user=uuid_ToString(@uuid)
;Debug "user\uuid_user: " + user\uuid_user
;user\uuid_user: 833f54d8-0538-4376-8fef-8700c26a7e54
;user\uuid_user: c668a64c-3ba4-4c30-b63f-56170d014a9c
user\organization_UUID="25e03ebc-fad3-11ed-a750-3085a998715d"
user\sUsername="lkbt"
user\sTrueName="零空比特"
user\sPasswordMD5="`123asdf"
user\sUserTel="13812345678"
user\sUserEMail="www_znb_cc@qq.com"
user\iWrite=0
user\iPrivilege=2
user\sUserMemo="www.znb.cc"
user\userCreateDate=FormatDate("%yyyy-%mm-%dd %hh:%ii:%ss", Date())
user\userUpdateDate=FormatDate("%yyyy-%mm-%dd %hh:%ii:%ss", Date())
user\isBloocked=0
;Debug "user\sTrueName: " + user\sTrueName
;[u]user\sTrueName: 零空比特[/u]    ; <----- This is common.
mysql_conn=OpenDatabase(#PB_Any, "host=localhost port=3306 dbname=lksensor", "root", "`123QWERasdf" , #PB_Database_MySQL)
If mysql_conn<=0 
  MessageRequester("LKSensor","数据库链接有问题。")
  End
EndIf
Debug insert_znb_user(mysql_conn,@user)
;Incorrect datetime value: '1685375424' for column 'userCreateDate' at row 1
;保存成功,返回空文本。
CloseDatabase(mysql_conn)
Code: Select all
/*
 Navicat Premium Data Transfer
 Source Server         : localhost
 Source Server Type    : MySQL
 Source Server Version : 50726
 Source Host           : localhost:3306
 Source Schema         : lksensor
 Target Server Type    : MySQL
 Target Server Version : 50726
 File Encoding         : 65001
 Date: 27/05/2023 16:48:34
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
How to display it correctly?




