我正在做一个程序,在运行程序时,我想从其他文件夹中复制一个图像并粘贴在必须保存在sql server中的运行表单上。怎么做?
答案 0 :(得分:1)
你的问题似乎不清楚。但是如果你指的是将一个图像从一个文件夹复制到另一个文件夹,那么我们就想将这个图像存储到sql-server中。
如果是这样的话;你需要在stackoverflow上查看以下答案(即使它对于c ++来说总的想法很好)c++ sql connection。
在这里,您将编写sqlcommandline
的语句 SQLHANDLE sqlevent, sqlconnection, sqlstatement;
if (SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &sqlevent))
{
//cout << "The sqlevent has failed to be created." << endl;
//system("pause");
return 0;
}
if (SQL_SUCCESS != SQLSetEnvAttr(sqlevent, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0))
{
//cout << "The sqlevent has failed to be initialized." << endl;
//system("pause");
return 0;
}
if (SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_DBC, sqlevent, &sqlconnection))
{
//cout << "The sqlconnection has failed to be created." << endl;
//system("pause");
return 0;
}
//SQLWCHAR retstring[10000];
SQLWCHAR retstring[10000];
SQLDriverConnect(sqlconnection,
NULL,
L"DRIVER={SQL Server};SERVER=serveradress.something.something;DATABASE=dbname;Trusted Connection=Yes",
SQL_NTS,
retstring,
1024,
NULL,
SQL_DRIVER_NOPROMPT);
if (SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_STMT, sqlconnection, &sqlstatement))
{
//cout << "The sqlstatement has failed to be created." << endl;
//system("pause");
return 0;
}
commandline = L"BULK INSERT Test.dbo.Orders FROM 'C:/RAW/picture.jpg' WITH ( FIELDTERMINATOR = ';')";
if (SQL_SUCCESS != SQLExecDirect(sqlstatement, (SQLWCHAR*)commandline, SQL_NTS))
{
//cout << "The import sql command has failed to execute." << endl;
//system("pause");
return 0;
}
//SQLExecDirect(sqlstatement, (SQLWCHAR*)commandline, SQL_NTS);
// EVENTUELLT LÄGGA TILL ATT RADERA FILEN FRÅN SIN PLATS?
// SQLHANDLE sqlevent, sqlconnection, sqlstatement;
SQLFreeHandle(SQL_HANDLE_STMT, sqlstatement);
SQLFreeHandle(SQL_HANDLE_DBC, sqlconnection);
SQLFreeHandle(SQL_HANDLE_ENV, sqlevent); //End the connection
简而言之,复制并粘贴代码并根据您使用的程序进行更改。然后在命令行中输入=&#34;从&C; / RAW/picture.jpg'中插入表名;&#34;并循环显示要插入的所有图片。
希望这会有所帮助。但如果我在投票前没有回答你的问题,请重写问题,以便我们为你提供更多帮助。