从Oracle C++中检索日期
您好,我正在尝试从表中获取信息从Oracle C++中检索日期,c++,oracle,C++,Oracle,您好,我正在尝试从表中获取信息 CREATE TABLE Locks ( lid CHAR(10) PRIMARY KEY, bno CHAR(3), rno CHAR(4), status VARCHAR(10) NOT NULL, FOREIGN KEY (bno, rno) REFERENCES Labs ) 这是我的桌子,我想盖上盖子 但当我执行查询时,它不会返回id 但当我试图找到bno或rno时,它确实会返回它们 这是我的密码 struct STMT { string name;
CREATE TABLE Locks (
lid CHAR(10) PRIMARY KEY,
bno CHAR(3),
rno CHAR(4),
status VARCHAR(10) NOT NULL,
FOREIGN KEY (bno, rno) REFERENCES Labs
)
这是我的桌子,我想盖上盖子
但当我执行查询时,它不会返回id
但当我试图找到bno或rno时,它确实会返回它们
这是我的密码
struct STMT {
string name;
Statement *stmt;};
initStatements(Connection *conn, STMT * & statements){
int size = 1;
statements = new STMT[size];
statements[0].name = "Checklid";
string queryStr = "select * from Locks where lid = :1";
statements[0].stmt = conn->createStatement(queryStr);
return size;
}
Statement * findStatement(string name, STMT *statements, int size){
for(int i = 0; i < size; i++) {
if (statements[i].name == name)
return statements[i].stmt;
}
return 0;
}
void checkforcid(STMT *statements, int size){
Statement *stmt;
stmt = findStatement("Checklid", statements, size);
string Clid;
cout << "Please enter lid: ";
cin >> Clid;
stmt->setString(1, Clid);
ResultSet *rs = stmt->executeQuery();
int i = 0;
while (rs->next()) {
string lid = rs->getString(1);
cout << "lid : " << lid << endl;
i++;
}
//cout << i << endl;
stmt->closeResultSet(rs);
}
int main()
{
string userName = "alsaiama";
string password;
const string connectString = "";
cout << "Your user name: ";
getline(cin, userName);
cout << "Your password: ";
password = readPassword();
cout << endl;
Environment *env = Environment::createEnvironment();
Connection *conn = env->createConnection
(userName, password, connectString);
STMT *statements;
int size = initStatements(conn, statements);
checkforcid(statements,size);
terminateStatements(conn, statements, size);
env->terminateConnection(conn);
Environment::terminateEnvironment(env);
return 0;
}
在数据库CHAR10中发现问题lid的长度应为10