Unity连接MySql数据库第二篇:DataSet的介绍与登录查询脚本
2020-07-19 04:46
399 查看
- 使用Navicat for MySQL创建用户信息表(也可以使用MySQL Workbench创建)。
Navicat 点击此处下载 链接:https://pan.baidu.com/s/1OkoWYIHtQ8Mn91D10kVOxg 提取码:7tqq - DataSet须知
因为第一次使用DataSet,遇到了一个坑,就是DataSet无法存储中文,所以你的数据库表里面一定不能有中文。
DataSet看做内存中的数据库,DataSet里面有很多表格名为DataTable,DataTable又有行Row和列Column。
基本语句:
(1)新建ds作为数据库
DataSet ds = new DataSet( );
(2)新建table作为表
Datable table = new DataBle();
(3)取ds数据库中的表,注意:DataSet中的表的序号从0开始,行和列也从0开始
table = ds.Tables[0]
(4)取表的总行数
table.Columns.Count
(5)取表的总列数
table.Rows.Count
(6)取第i行,第j列
table.Rows[ i ][ j] - 写登录查询脚本。
在Unity里新建C#脚本,命名为UserLogin,编写以下代码。
using System.Collections; using System.Collections.Generic; using System.Data; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; using ClassLibrary1; public class UserLogin : MonoBehaviour, IPointerClickHandler { public InputField userNameInput; public InputField passwordInput; //提示用户登录信息 private Text loginMessage; //IP地址 public string host; //端口号 public string port; //用户名 public string userName; //密码 public string password; //数据库名称 public string databaseName; //封装好的数据库类 MySqlAccess mysql ; private void Start() { loginMessage = GameObject.FindGameObjectWithTag("LoginMessage").GetComponent<Text>(); //获取标签为LoginMessage对象上的Text组件 mysql = new MySqlAccess(host, port, userName, password, databaseName); } /// <summary> /// 这里还没有实现注册功能,点击时暂时执行 OnClickedLoginButton()方法 /// </summary> public void OnPointerClick(PointerEventData eventData) { if (eventData.pointerPress.name == "loginButton") { //如果当前按下的按钮是注册按钮 OnClickedLoginButton(); } } /// <summary> /// 按下登录按钮 /// </summary> public void OnClickedLoginButton() { mysql.OpenSql(); string loginMsg = ""; //新建一个数据库容器,DataSet可以看做在内存中的数据库容器,包含有多个DataTable(数据表),减少直接对数据库的操作 DataSet ds = mysql.Select("users", new string[] { "*" }, new string[] { "`" + "name" + "`" , "`" + "pwd" + "`" }, new string[] { "=", "=" }, new string[] { userNameInput.text, passwordInput.text }); //在数据库中的user表中查询输入的用户名和密码,将查询的结果放入ds中*表示所有列。 //这里的SQL语句为:select * from users where name=' ' and pwd=' '; //注意:你的数据库里面的表格中不能有中文,因为DataSet无法存储中文。 if (ds != null) { print("表格数为:" + ds.Tables.Count); //unity中输出结果为1,表示只有一个数据表,序号为0 DataTable table = ds.Tables[0]; //读取ds中的第1个表,将ds数据库中的第1个表给table print("列数为:" + table.Columns.Count); //输出列数为3, print("行数为:" + table.Rows.Count); //输出行数为1 if (table.Rows.Count> 0) //如果总行数大于零说明ds中有查询到的结果 { loginMsg = "登陆成功!"; print(loginMsg); loginMessage.color = Color.green; } else { loginMsg = "用户名或密码错误!"; print(loginMsg); loginMessage.color = Color.red; } loginMessage.text = loginMsg; } mysql.CloseSql(); } }
相关文章推荐
- shell 脚本连接mysql数据库查询database中表的数量和表名
- 4.mysql数据库创建,表创建模等模板脚本,mysql_SQL99标准的连接查询(内连接,外连接,满外连接,交叉连接)
- 4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)
- IntelliJ IDEA2017 java连接mysql数据库并查询数据
- javaWeb 简单注册登录(含数据库连接) -- (二) MySQL数据库配置和连接
- 分发系统介绍,expect脚本远程登录,expect脚本远程执行命令,expect脚本传递参数
- Mysql数据库,内连接多表查询
- JSP连接mysql数据库分页查询
- C# 实现 MySql数据库连接 登录并跳转界面
- shell自动连接mysql后进行查询和自动备份脚本
- C#连接MYSQL数据库并进行查询
- mysql学习之旅(九)——多表连接查询的介绍
- MFC中ODBC连接MySQL数据库查询出的中文显示为乱码的问题
- 连接MySQL数据库的两种方式介绍
- 使用JDBC连接MySQL数据库--典型案例分析(八)----实现员工数据的分页查询
- Unity基础—— 脚本介绍
- Unity连接MySQL数据库
- Unity3D研究院之Unity中连接本地或局域网MySQL数据库(五十九)
- Unity连接MySQL数据库
- MySQL查询优化:连接查询排序limit(join、order by、limit语句)介绍