. No
数据库
错误
:
py
mysql
.err.Programming
Error
: (1007, "Can't create
database
'hlt0517';
database
exists")
数据库
已存在
py
mysql
.err.Operational
Error
: (
1046
, 'No
database
selected
')
没有选择
数据库
py
mysql
.err.Operational
Error
: (1054, "Unknown column 'balance' in 'field list'")
m_p
Db
ProcPic = new C
DB
Process("sqlserver");
m_p
Db
Proc->open
DB
("mysvr", "my
db
", "myusername", "mypwd");
m_p
Db
ProcPic = new C
DB
Process("
mysql
");
m_p
Db
Proc->open
DB
("localhost", "my
db
", "root", "password");
m_p
Db
ProcPic = new C
DB
Process("access");
m_p
Db
Proc->open
DB
("", strM
DB
, "sa", "password");
m_p
Db
ProcPic = new C
DB
Process("sqlite");
m_p
Db
ProcPic->open
DB
("", "
mysql
ite
db
");
C
DB
Process使用说明
构造函数:
C
DB
Process(const QString strType);
参数:为
数据库
类型,不区分大小写,支持的类型有
sqlite
mysql
access sqlserver
C
DB
Process
db
("sqlite");
--------------------------------------------------
打开
数据库
bool open
DB
(const QString strSvrName, //服务器名
const QString str
DB
name, //
数据库
名
const QString strUserID="", //用户名
const QString strUserPwd=""); //密码
打开
数据库
成功,返回true,否则返回false
对于sqlite,只有str
DB
name有效,其它参数忽略,如
db
.open
DB
("", "
mysql
ite.
db
")
对于MS Access
数据库
,strSvrName为空,用户名默认为"sa",如
db
.open
DB
("", "myaccess.m
db
");
对MSAccess
数据库
,也可通过一个UDL文件,打开,如
db
.open
DB
("my.udl", "");
mysql
和sqlserver,就是各个参数依次提供,如
db
.open
DB
("svr1", "my
db
", "user1", "abcd");
-----------------------------------------------------
关闭
数据库
,C
DB
Process析构时,亦会自动关闭
数据库
void clo
seD
B(); //
db
.clo
seD
B();
------------------------------------------------------
执行Sql语句
bool excuteSQL(const QString);
-------------------------------------------------------
打开记录集
bool openRecordsetBySql(const QString strSql, //Sql语句
int idx = -1); //记录集id,用于标识记录集,默认值为-1
db
.openRecordsetBySql("
SELECT
* FROM TB1", 5);
打开一个记录集,标识号为5,后面操作这个记录集,也要提供这个标识号
--------------------------------------------------------
关闭记录集
void closeRecordset(int idx = -1);
db
.closeRecordset(5); 关闭之前打开的标识为5的记录集
-----------------------------------
数据库
是否处在打开状态
bool isOpen() const;
------------------------------------
记录集游标是否在结尾,参数为记录集标识
bool recEOF(int idx = -1) const;
例:bool b =
db
.RecBOF(5);
------------------------------------
记录集游标是否在第一条记录之前,参数为记录集标识
bool recBOF(int idx = -1) const;
----------------------------------------
删除一个表
bool dropTable(const QString);
---------------------------------------------
读取标识为idx记录集的当前记录的各字段值,方法如示例:
bool getFieldsValueFromRec(int idx, const char* szFldInfo, ...) const;
int iSN;
QString strName;
doubl
e dHeight;
QDateTime dt;
QByteArray ba;
db
.getFieldsValueFromRec(5, //记录集id
"sn%d", &iSN, //字段名加类型 sn为字段名%d表示整型,&iSN传入指针,保存返回字段值
"name%s", &strName, //字段名加类型 name为字段名%s表示字符串(QString)
"height&f", &dHeight, //字段名加类型 height为字段名%f表示小数(
doubl
e)
"birthday%t", &dt, //字段名加类型 birthday为字段名%t表示时间(QDateTime)
"photo%b", &ba, //字段名加类型 photo为字段名%b表示二进制流(QByteArray)
C
DB
Process::szEnd); //结束标志,"|"
执行后,各字段值就保存在iSN, strName等变量中了。
参数:第一个参数为记录集id
后面可变参数,字段%类型标识,用于保存返回值的指针,
类型标识:%d-int %s-QString %f-
doubl
e %t-QDateTime %b-QByteArray
---------------------------------------------------------------------------
向一个数据表中填加一条记录
bool addFieldsValueToTbl(const QString strTbl, const char* szFldInfo, ...);
参数:第一个参数strTbl,为表名
后面是可变参数,为"字段%类型标识",值(或指针),注int,
doubl
e类型直接传值,其它传指针
db
.addFieldsValueToTbl("TB1", //表名
"sn%d", iSN, //字段名加类型 sn为字段名%d表示整型,iSN传入值
"name%s", &strName, //字段名加类型 name为字段名%s表示字符串(QString), 传入QString变量指针
"height&f", dHeight, //字段名加类型 height为字段名%f表示小数(
doubl
e),dHeight传入值
"birthday%t", &dt, //字段名加类型 birthday为字段名%t表示时间(QDateTime),传入指针
"photo%b", &ba, //字段名加类型 photo为字段名%b表示二进制流(QByteArray),传入指针
C
DB
Process::szEnd); //结束标志,"|"
-----------------------------------------------------------
修改表中符合WHERE子句条件的记录
bool updateTblFieldsValue(const QString strTbl, QString strWhere, const char * szFldInfo, ... );
strTbl表名
strWhere SQL WHERE子句,如"WHERE sn=20"
const char * szFldInfo, ...可变参数,同addFieldsValueToTbl
db
.updateTblFieldsValue("TB1", "WHERE sn=20", "height&f", dHeight, "photo%b", &ba, C
DB
Process::szEnd);
----------------------------------------------------------------
以下几个函数分别是获取记录数,和记录光标移动。参数为记录集标识
long getRecordCount(int idx = -1) const;
bool moveFirst(int idx = -1) const;
bool movePrevious(int idx = -1) const;
bool moveNext(int idx = -1) const;
bool moveLast(int idx = -1) const;
bool moveTo(int n, int idx = -1) const;
--------------------------------------------------------------------
返回
数据库
名
QString get
Db
Name() const;
------------------------
以下几个函数未验证
bool execStoreProcOfArgList(int idx, const QString strStoreProc, const char* szFldsInfo, ...);
bool exexProc(const QString strStoreProc, QString str1, QString& str2);
bool transaction();
bool commit();
bool rollback();
1.No
DataBase
Selected
翻译->意思是说没有选种
数据库
.
首先要建立
数据库
,在将表放入
数据库
中:
create
database
如果上一步已经做好了,那么在命令行中敲入:
use 我试过这种方法!
2.第二个有可能的原因也是一个比较低级的
错误
,我们都知道
mysql
一创建就默认带一个叫
mysql
的
数据库
,如下图所示:
简单来说
select
user,password,h...
### 回答1:
错误
代码:2013。在查询期间丢失与
MySQL
服务器的连接。这个
错误
通常是由于网络问题或
MySQL
服务器崩溃引起的。您可以尝试重新连接
MySQL
服务器或检查网络连接是否正常。如果问题仍然存在,请联系
MySQL
管理员以获取更多帮助。
### 回答2:
error
code
: 2013. lost connection to
mysql
server during query是指在查询
MySQL
服务器时,连接丢失导致的
错误
代码。这个
错误
通常是由以下一些原因引起的:
1. 连接超时:如果
MySQL
服务器在一段时间内没有响应,则连接可能会超时并断开。可以通过增加连接超时时间来解决这个问题。可以通过在
MySQL
配置文件中更改wait_timeout和interactive_timeout参数值来更改连接超时时间。
2. 查询时间太长:如果服务器需要处理的数据量太大或查询太复杂,则查询可能会花费太长时间。如果这个查询已经超出了
MySQL
服务器的最大查询时间,则服务器可能会强制断开连接。这个问题可以通过优化查询来解决。
3.
数据库
故障:如果
数据库
出现故障,则可能会导致连接断开。这个问题可以通过检查服务器和
数据库
日志来解决。
4. 网络问题:如果网络不稳定或连接不稳定,则连接可能会断开。这个问题可以通过检查网络连接来解决。
为了避免这个
错误
,建议将以下几个步骤纳入实践:
1. 检查
MySQL
服务器配置文件中的参数值,特别是wait_timeout和interactive_timeout。
2. 优化查询,尽可能减少查询时间。
3. 定期检查
数据库
和服务器日志文件,以便及时发现和解决故障。
4. 确保网络连接稳定,并根据需要进行必要的维护和修复。
### 回答3:
MySQL
数据库
是一个非常常用的
数据库
管理系统,但是在使用的过程中,可能会遇到各种问题,其中一种是“
error
code
: 2013. lost connection to
mysql
server during query”这个
错误
。这个
错误
提示表明在查询过程中,用户已经失去了与
MySQL
服务器的连接。这个
错误
通常会发生在以下几种情况下:
1.网络连接不稳定或者网络环境不佳,导致连接数据服务器的路由出现问题。
2.
MySQL
服务已经停止,或者正在重新启动过程中。
3.用户的查询过多、操作的数据量太大,导致
MySQL
服务器负载过高超出承载能力。
针对这种
错误
,我们可以采取以下措施:
1.检查
数据库
服务器的连接状态,确保网络连接稳定可靠;
2.检查
MySQL
服务是否正常运行,通过重新启动
MySQL
服务等方法进行恢复;
3.优化查询语句或者分割操作的数据量,降低
MySQL
的负载压力;
4.增加
MySQL
服务器的硬件性能,提升其承载能力;
总之,对于端口已经打开但无法连接到
MySQL
服务的问题,我们需要确保
MySQL
服务器处于可用状态,网络连接稳定,并尽可能优化查询语句和操作方式。
idea中报错No compiler is provided in this environment. Perhaps you are runningon a JRE
m0_62493953:
Win10开电脑热点以后手机连接会IP配置失败或者一直显示获取IP中
weixin_46325286:
百度搜索去广告及高级用法
Cr不是铬:
idea中报错No compiler is provided in this environment. Perhaps you are runningon a JRE
woowahahahahaha: