在使用mysql.data的时候.net4.0只能使用mysql.data6.9.12版本及以下版本,且所有的版本mysql的连接语句都基本相同。数据库都是可以不设置密码进行访问的
如果在连接失败时,查看报错信息,有可能是数据库损坏导致,而非版本使用不兼容导致。本人遇到过数据库信息损坏,可以使用.net4.52及以上版本和mysql.data6.10.9及以上版本进行连接访问,在使用.net4.0和mysql.data6.9.12版本时报错,身份验证失败。
关于AS命名的用法:使用AS命名时,可以将整个查询结果作为一个对象,用AS字符来实例化对象和重新命名。例如:(SELECT SerNo,JobName FROM TBJobInfo WHERE SerNo = (SELECT JobIndex FROM TBBoard WHERE EndTime BETWEEN "2020-11-24 10:30:00" AND "2020-11-24 11:30:00" LIMIT 1)) AS t2。 这里是将前面的查询结果的表重新命名为t2的意思。多用于SQL数据库表之间的内连接,外连接,全连接上等。 并且AS还可以用于重新命名查询结果的列名中。例如:SELECT (MAX(PosYmm)+MIN(PosYmm))/2 AS PosYmm FROM TBSimplePad WHERE JobIndex=(SELECT JobIndex FROM TBBoard WHERE EndTime BETWEEN '2021-1-7 8:30:00' AND '2021-1-7 9:00:00' LIMIT 1) AND FovNo!=-1 这里是将最后的查询结果列名 (MAX(PosYmm)+MIN(PosYmm))/2 重新命名为Posymm,不然的话该参数无法传递给前面的PosYmm,例如:PosYmm>(SELECT (MAX(PosYmm)+MIN(PosYmm))/2 AS PosYmm FROM TBSimplePad WHERE JobIndex=(SELECT JobIndex FROM TBBoard WHERE EndTime BETWEEN '2021-1-7 8:30:00' AND '2021-1-7 9:00:00' LIMIT 1) AND FovNo!=-1) 只有当表的列名为PosYmm时才能与前面的PosYmm想对比参数。
在使用SQL语句查询的时候需要使用到变量时,形参与字符串的连接方式为:' "+形参+" '(单引号,双引号,加号) 的方式 例如: string Sql = "SELECT PerHeight FROM TBPadMeasure WHERE PCBID = (SELECT PCBID FROM TBBoard WHERE EndTime BETWEEN '" + TimeStart + "' AND '" + TimeEnd + "' LIMIT 1) AND PadID IN ('" + PadId + "')";
C#在输出表内信息方式:每行读取完后,判断当前行是否为最后一行逻辑。例如:
while (reader.Read()) //读取mysql一行中每一列的数据,
{
//数据保存在reader[i]中,i代表的是第几列中给的数据
if (reader.HasRows)
{
//Console.Write(reader[10]);
for (int i = 0 ; i < j-1; ++i)
{
//Console.Write(reader[i]);
//Console.Write("\t");
Form1.TableHeight[num] = Convert.ToSingle(reader[i]); //int.parse强制转换为int类型
具体可以参考(https://www.cnblogs.com/void0/p/4230986.html)
mysql的管理可以使用Navicat 来进行可视化管理,可以的操作包括:查看用户信息,增加用户等。
mysql查询语句标准格式:SELECT PadID(需要查询的字段) FROM TBPadMeasure(要查绚的表) WHERE PCBID=50(需要给的条件);
其中如果想要有多个相同的条件可以使用 IN字段;例如:SELECT PerHeight FROM TBPadMeasure WHERE PCBID IN (500,600,800);
如果是想多个条件一起判断,可以在条件里面使用and连接语句来判断。 例如:SELECT JobIndex FROM TBBoard WHERE EndTime BETWEEN '2020-11-24 10:30:00' AND '2020-11-24 11:30:00' LIMIT 1
想要对查询结果排序可以使用 DESC(倒序) 和 ASC(升序) ,来找出最大最小值。例如:SELECT JobIndex FROM TBBoard WHERE EndTime BETWEEN '2020-11-24 10:30:00' AND '2020-11-24 11:30:00' LIMIT 1
表的连接方式:内连接,外连接,全连接的使用方法和语句。