seeco1234
سه شنبه 05 مرداد 1389, 12:38 عصر
با سلام به دوستان. به ساده ترین حالت سوالم رو مطرح میکنم.
من یه sp از نوع select میخوام بنویسم که در vb6 اون رو صدا کنم. کاربرد در فیلترینگ فیلدها از 1 فیلد تا هر چند تا بنا به نیاز کاربر .
ساده ترین اون رو با این مضمون پیدا کردم:
در اس کیو ال sp ما این است:
CREATE PROCEDURE [SP_Select_tblMainType]
@empid int
AS
,Select CodeName
,nMainTypeId
,cMainTypeName
,cMChar from tblMainType
WHERE nMainTypeId =@empid
Order By cMChar
GO
در وی بی اینو داریم:
Dim cmd1 As New ADODB.Command
Set cmd1 = New ADODB.Command
cmd1.ActiveConnection = ConnStr
cmd1.CommandType = adCmdStoredProc
cmd1.CommandText = "SP_Select_tblMainType"
cmd1.Parameters.Append cmd1.CreateParameter("empid", adVarChar, adParamInput, 6, txtCode.Text)
Set rstMainType = cmd1.Execute
If Not rstMainType.EOF Then
txtMainName = rstMainType.Fields(0)
txtMainCode = rstMainType.Fields(1)
End If
Set cmd1.ActiveConnection = Nothing
خب این sp اگه پارامتر داشته باشه کار میکنه. مشکل من موقعیه که where من با هیچی برخورد نمیکنه یعنی در ابتدای لود فرم من که هیچ فیلتری صورت نگرفته تکلیف این query چیه. بعد ممکنه چند تا and استفاده شه تو این query که از چند تا فیلتر در برنامه اجبارا نخواخیم از همه فیلتر ها استفاده کنیم و فقط مثلا نام و نام خانوادگی رو فیلتر کنیم و بقیه null میمونند.
در اصل من تو load اولیه فرم خودم اینو میخوام:
select * from tblMainType
و اگر فیلتری صورت گرفت کوئریم به کار خودش ادامه بده
ممنون همه
من یه sp از نوع select میخوام بنویسم که در vb6 اون رو صدا کنم. کاربرد در فیلترینگ فیلدها از 1 فیلد تا هر چند تا بنا به نیاز کاربر .
ساده ترین اون رو با این مضمون پیدا کردم:
در اس کیو ال sp ما این است:
CREATE PROCEDURE [SP_Select_tblMainType]
@empid int
AS
,Select CodeName
,nMainTypeId
,cMainTypeName
,cMChar from tblMainType
WHERE nMainTypeId =@empid
Order By cMChar
GO
در وی بی اینو داریم:
Dim cmd1 As New ADODB.Command
Set cmd1 = New ADODB.Command
cmd1.ActiveConnection = ConnStr
cmd1.CommandType = adCmdStoredProc
cmd1.CommandText = "SP_Select_tblMainType"
cmd1.Parameters.Append cmd1.CreateParameter("empid", adVarChar, adParamInput, 6, txtCode.Text)
Set rstMainType = cmd1.Execute
If Not rstMainType.EOF Then
txtMainName = rstMainType.Fields(0)
txtMainCode = rstMainType.Fields(1)
End If
Set cmd1.ActiveConnection = Nothing
خب این sp اگه پارامتر داشته باشه کار میکنه. مشکل من موقعیه که where من با هیچی برخورد نمیکنه یعنی در ابتدای لود فرم من که هیچ فیلتری صورت نگرفته تکلیف این query چیه. بعد ممکنه چند تا and استفاده شه تو این query که از چند تا فیلتر در برنامه اجبارا نخواخیم از همه فیلتر ها استفاده کنیم و فقط مثلا نام و نام خانوادگی رو فیلتر کنیم و بقیه null میمونند.
در اصل من تو load اولیه فرم خودم اینو میخوام:
select * from tblMainType
و اگر فیلتری صورت گرفت کوئریم به کار خودش ادامه بده
ممنون همه