表1
名字 年龄 工资 性别
张三 23 2222 男现在需要写一个存储过程
根据姓名 传出此人的 年龄 工资 信息表2
科目 分数
语文 90
数学 100
语文 30
语文 40
现在需要写一个存储过程
根据传入科目参数 返回所有的分数
比如传入 语文 传出的记录集包括90 30 40
名字 年龄 工资 性别
张三 23 2222 男现在需要写一个存储过程
根据姓名 传出此人的 年龄 工资 信息表2
科目 分数
语文 90
数学 100
语文 30
语文 40
现在需要写一个存储过程
根据传入科目参数 返回所有的分数
比如传入 语文 传出的记录集包括90 30 40
int CProviderDlg::Show()
{
int i=0;
this->OpenDb();//链接数据库
CProRecordset m_pSet(&m_db);
m_pSet.Open(1,_T("select * from ProTable"),1);
m_pSet.MoveFirst(); //移动到记录集开始
do
{
CString s;
s.Format("%s",m_pSet.strId);
m_ListCtrl.InsertItem(i,s,0);
m_ListCtrl.SetItemText(i,1,m_pSet.strName);
s.Format("%s",m_pSet.strTel);
m_ListCtrl.SetItemText(i,2,s);
s.Format("%s",m_pSet.strAddr);
m_ListCtrl.SetItemText(i,3,s);
i++;
m_pSet.MoveNext();
}
while(!m_pSet.IsEOF());
m_pSet.MoveFirst();
m_pSet.Close();
m_db.Close();
return i;
}
我这段代码是将数据库中的表ProTable中的4列数据显示在控件List Control里面,希望对你有帮助!我是新手!
CREATE TABLE TMP_TABLE
(
Name NVARCHAR(50),
Age INT,
Salary INT,
Gender NVARCHAR(1)
)
CREATE PROCEDURE [dbo].[Proc_GetInfoWithName]
@Name NVARCHAR(50)
AS
BEGIN
SET NOCOUNT ON
SELECT * FROM TMP_TABLE WHERE Name = @Name
SET NOCOUNT OFF
END
GO
第二个只写查询语句,
SELECT 分数 FROM TABLE WHERE 科目 = '语文'
CREATE TABLE uSER
(
Name NVARCHAR(50),
Age INT,
Salary INT,
Gender NVARCHAR(1)
)
Create Proc Proc_GetInfoByName
@name char(50)as
begin
SELECT * FROM USER WHERE Name = @Name
end
go//课程信息表
CREATE TABLE PS
(
PName NVARCHAR(50),
SCORE FLOAT
)
Create Proc Proc_GetInfoByPName
@PName char(50)
as
begin
SELECT * FROM PS WHERE PName = @PName
end
go
本人用ADO组件typedef Struct
(
char Name[51];
int Age;
int Salary;
char Gender[2];
) USER;GetInfoList(const char *name,std::list<USER> &UserList)
{
......//具体代码网上找吧
}