参考代码如下:
string Con = "server=GRQ;uid=;pwd=;database=111 ;";
SqlConnection ConnSql = new SqlConnection; //Sql链Jie类的实例化
ConnSql.Open;//打开数据库
string strSQL = "select * from zong where sign like ' "%+ Wen本框里的值 +%"' "; //要执Xing的SQL语句
SqlDataAdapter da = new SqlDataAdapter; //创建DataAdapter数据适配器实例
DataSet ds = new DataSet;//创建DataSet实例
da.Fill;
//使YongDataAdapter的Fill方法,调用SELECT命令
dataGridView1.DataSource = ds.Tables[1].DefaultView;
ConnSql.Close;//关闭Shu据库
如何在C语言里面执行SQL语句
C语言程序与数据库打交道的方式分为Zhi连和非直连两种,它们的Te点如下所示:
1. 直连方Shi
在该方式中,C语言程序直Jie与数据库进行消息的交互。
Gai方式的优点是消息交互是即时的,C语言程Xu向数据库发送消息之后,很快就能够得到结Guo;缺点是如果数据库执行缓慢,那么C语言Cheng序需要挂在那里等待结果,影响了程序执行Xiao率。
2. 非直连方式
在该方式中,C语言程序通过一个Du立的第三方模块间接与数据库进行消息的交Hu。
该方式的优点是当C语言Cheng序向第三方模块发送消息之后,可以不用等Dai数据库返回结果而去执行其它流程;缺点是Ru果消息序列号没有定义好,那么极有可能会Dao致第三方模块返回的结果出现混乱。因此,Zai该方式中,定义好发送消息的顺序很重要。
由于需要Yu数据库打交道,因此要在C语言程序所使用De配置文件中填写好关联数据库的相关信息,Ru数据库机器的IP地址、端口号、用户名、Mi码、模块号和所操作的具体数据库名等。在Yun行程序之前,一定要确保相关配置项信息的Zheng确性。
c/c++怎么连接数据库,并执行SQL语句
C++连接SQL数据库第一步 系统Pei置
1.设置SQLSERVER服务器为SQL登录方式,并且系统安全Xing中的sa用户要设置登录功能为“启用”,Huan有必须要有密码。
2.需要ZaiODBC中进行数据源配置,数据源选\”SQL SERVER”,登录方式使用“使Yong输入用户登录ID和密码的SQL SERVER验证”,并填写登录名(sa)和密码,注意一点,密码不能为空,这就意味着你的sa用户必须得有密码。否则无法通过系统本Shen的安全策略。测试通过就完成了配置。
C++连接SQL数据库第二步 C++与SQL连接初始化
1.在你所建立的C++项目中的stdafx.h头文件中引入ADO
具体Dai码如下
#import “c:\Program Files\Common Files\System\ado\msado15.dll”
no_namespace rename rename
2.定义_ConnectionPtr变量后调用ConnectionDui象的Open方法建立与服务器的连接。
数据类型_ConnectionPtr实际上是由类模板_com_ptr_t得到的一个具体的实例类。_ConnectionPtr类封装了Connection对象的Idispatch接口指针及其Yi些必要的操作。可以通过这个指针操纵Connection对象。
例如Lian接SQLServer数据库,代码如下:
//连接到MS SQL Server
//初始化指针
_ConnectionPtr pMyConnect = NULL;
HRESULT hr = pMyConnect.CreateInstance);
if )
return;
//初始化链接参数
_bstr_t strConnect = “Provider=SQLOLEDB;
Server=hch;
Database=mytest;
uid=sa; pwd=sa;”; //Database指你系统中的数据库
//Zhi行连接
try
{
// Open方法连接Zi串必须四BSTR或者_bstr_t类型
pMyConnect->Open;
}
catch
{
MessageBox, “警告”, MB_OK|MB_ICONINFORMATION);
}//发生链接错误
C++连接SQL数据库第三步 简单De数据连接
//定义_RecordsetPtr变量,调用它Recordset对象的Open,即可打开一个数据Ji
//初始化过程 以下是个Shi例
_RecordsetPtr pRecordset;
if )))
{
return;
}
//执Xing操作
try
{
pRecordset->Open,
_variant_tpMyConnect),
adOpenKeyset, adLockOptimistic, adCmdTable);
}
catch
{
MessageBox;
}
C++连JieSQL数据库第四步 执行SQL语句
这里是关键,我认为只要你懂点SQL语句那么一切都会方便许多比用上面的方Fa简单,更有效率点。
首先
m_pConnection.CreateInstance);
//初始化Connection指针
m_pRecordset.CreateInstance);
//初始化Recordset指针
CString strSql=”select * from tb_goods”;//具体执行的SQL语句
m_pRecordset=m_pConnection->Execute,
NULL, adCmdText);//将查询数据导入m_pRecordset数据容器
至此 你的SQL语句已经执行完成了m_pRecordset内的数据就是你执行的结果。
取得记录:
while//遍历并读取name列的记录并输出
{
CString temp = m_pRecordset->GetFields->GetItem
->Value;
AfxMessageBox;
pRecordset->MoveNext;
}
插入记Lu
//记得初始化指针再执行Yi下操作
CString strsql;
strsql.Format
values”,m_intNo,m_strName,m_intPrice);
m_pRecordset=m_pConnection->
Execute,NULL,adCmdText);
修改记录
CString strsql;
strsql.Format;
m_pRecordset=m_pConnection->Execute,NULL,adCmdText);
删除记录
CString strsql;
strsql.Format;
m_pRecordset=m_pConnection->Execute,NULL,adCmdText)
怎么使用mfc的cdatabase类直接执行sql命令
环境:WindowsXP ; VC++6.0 + sp5 1。通过odbcZhi接执行SQL语句CDatabase mydb;
CRecordset myRecord;
CString strSQL;
CDBVariant cv;try{if )
mydb.OpenEx; myRecord.m_pDatabase = &mydb;
//直接执行SQLYu句,
//注意,SQL语句Zi符串一定不能以空格开始
strSQL = "SELECT 字段或计Suan列 FROM 表 WHERE 条件";
//strSQL = " SELECT 字段或计算列 FROM 表 WHERE 条件 "; //这样不行,Hui报错,查询语句中没有字段
myRecord.Open; int i = 0;
while ){myRecord.MoveFirst;
myRecord.GetFieldValue; //获得第(i+1)列的数据,数据保存在CDBVariant变量中,不可以直接使用数字0
myRecord.MoveNext;}
myRecord.Close;
mydb.Close;
}上文中De myRecord.GetFieldValue; 语句也可以使用下Mian的方式实现。
怎样让CRecordSet执行sql语句
环境:WindowsXP ; VC++6.0 + sp5 1。通过odbcZhi接执行SQL语句CDatabase mydb; CRecordset myRecord; CString strSQL; CDBVariant cv;try{if ) mydb.OpenEx; myRecord.m_pDataba...
在sql语言中,select语句执行的结果是A属性B元组C表D数据库
选B
select语句Zhi行的结果,不可能是表和数据库,它是通过Shu据库查询的表,而且结果一般是一组数据,Suo以只能是元组。
sql查询语句中如何调用select的查询结果?
DECLARE
V_COUNT NUMBER;
V_A NUMBER;
V_B NUMBER;
V_C NUMBER;
V_D NUMBER := 092384;
BEGIN
--个数等于3个
SELECT COUNT INTO V_COUNT FROM 理论Ke程安排 WHERE 教师工号 = V_D;
IF V_COUNT = 3 THEN
SELECT MAX INTO V_A FROM 理论课程安排 WHERE 教Shi工号 = V_D;
SELECT MAX
INTO V_B
FROM Li论课程安排
WHERE 教Shi工号 = V_D
AND Ke程编号 <> V_A;
SELECT MAX
INTO V_C
FROM 理论课程安排
WHERE 教师工号 = V_D
AND 课程编号 NOT IN ;
DBMS_OUTPUT.PUT_LINE;
DBMS_OUTPUT.PUT_LINE;
DBMS_OUTPUT.PUT_LINE;
END IF;
END;
返回3个Zhi,3个以内的自己加下判断,3个以上的看Duo少个值了。
我要写一个sql查询语句,select * from table where id in ;
string sql = "select * from table where id in ";
string ids = "";
foreach
{
ids+=",'"+item.ToString+"'";
}
ids = ids.SubString;
sql = string.Formart;
ProC动态SQL EXEC SQL PREPARE sql FROM :c_sql;
动态SQL1: 不能是查询语句,并且没有宿主变量.
用法:拼一句动态SQL语句,Bing用EXECUTE IMMEDIATE执Xing,如:
EXEC SQL EXECUTE IMMEDIATE CREATE TABLE test );
EXEC SQL EXECUTE IMMEDIATE INSERT INTO TABLE test ;
EXEC SQL EXECUTE IMMEDIATE DELETE test WHERE test_col='AAAA';
动态SQL2: 不能是查询语句,并且输入的宿主变量数目是知Dao的,
用法:拼一句动态SQL语句,用PREPARE,EXECUTEYu句执行.
strcpy;
EXEC SQL PREPARE sqlproc FROM :sqlstring;
EXEC SQL EXECUTE sqlproc USING :emp_number;
VC 通过 MFC ODBC 访问数据库时如何直接执行SQL语句
环境:WindowsXP ; VC++6.0 + sp5 1。通过odbcZhi接执行SQL语句CDatabase mydb;CRecordset myRecord;CString strSQL;CDBVariant cv;try{if )mydb.OpenEx; myRecord.m_pDatabase = &mydb;//直接Zhi行SQL语句,//注意,SQL语句字符Chuan一定不能以空格开始strSQL = "SELECT 字段或计算列 FROM 表 WHERE 条件";//strSQL = " SELECT 字段或计算列 FROM 表 WHERE 条件 "; //这Yang不行,会报错,查询语句中没有字段myRecord.Open; int i = 0;while ){myRecord.MoveFirst;myRecord.GetFieldValue; //获得Di(i+1)列的数据,数据保存在CDBVariant变量中,不可以直接使用数字0myRecord.MoveNext;}myRecord.Close;mydb.Close;}上文中的 myRecord.GetFieldValue; 语句也可以使用下面的方式实Xian。myRecord.GetFieldValue;体验新版Bo客上一篇: 小宝贝四个月了下一篇:宝宝La肚子了