PDA

View Full Version : نحوه نمایش نتیجه یک query sql در کنترل vb.net



clupcd
شنبه 04 آذر 1391, 00:50 صبح
نحوه نمایش نتیجه یک query رو توی کنترل lable توضیح بدید لطفا مثلا من جمع دریافتی هایم که همون باقی مانده حسابمه رو مخوام توی یک لیبل به دست بیارم . دستور جمعش که توی sql به این شکله :
SELECT SUM(Daryaft) FROM tblTarakonesh
خوب حاصل این یک عدد رو که جمع رکورد های فیلد دریافته برمیگردونه....
چجوری بگم این حاصل رو در lableMande.text نشون بده ؟

ضمن این که به این تایپیک هم سر بزنید هنوز در این قسمت کمی ایراد دارم ! http://barnamenevis.org/showthread.php?369860-%D9%86%D8%AD%D9%88%D9%87-%D8%B4%D8%B1%D8%B7-%DA%AF%D8%B0%D8%A7%D8%B1%DB%8C-if-...-%D8%B1%D9%88%DB%8C-%D9%85%D9%82%D8%AF%D8%A7%D8%B1-%D9%81%DB%8C%D9%84%D8%AF-sql&p=1633168#post1633168

gilsoft
شنبه 04 آذر 1391, 02:40 صبح
چجوری بگم این حاصل رو در lableMande.text نشون بده ؟

سلام دوست عزیز

از تابع زیر استفاده کن :

Function GetValue(Command As String) As String
Dim Value As String = ""
Using Cnn As New SqlConnection("مورد نظر ConnectionString")
Dim Cmd As New SqlCommand(Command, Cnn)
Cnn.Open()
Dim dr As SqlDataReader = Cmd.ExecuteReader()
While dr.Read()
Value = CStr(dr.GetInt32(0))
End While
dr.Close()
End Using
Return Value
End Function

و با کد زیر فراخوانی کن :

lableMande.Text = GetValue("SELECT SUM(Daryaft) FROM tblTarakonesh")

موفق باشید

clupcd
شنبه 04 آذر 1391, 10:49 صبح
با تشکر دوست عزیز ولی در هنگام اجرا خطا مگیره :
کد :
Function GetValue(ByVal Command As String) As String
Dim Value As String = ""
Using Cnn As New SqlConnection(strCon)
Dim Cmd As New SqlCommand(Command, Cnn)
Cnn.Open()
Dim dr As SqlDataReader = Cmd.ExecuteReader()
While dr.Read()
Value = CStr(dr.GetInt32(0))
End While
dr.Close()
End Using
Return Value
End Function

خطا در خط زیر :
Value = CStr(dr.GetInt32(0))
متن خطا :

Specified cast is not valid.
منون کمک کنید

clupcd
شنبه 04 آذر 1391, 16:52 عصر
کسی جواب نمیده؟

asghar2008
شنبه 04 آذر 1391, 19:22 عصر
سلام

از کد زیر استفاده کن:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
strselect = "SELECT SUM(Daryaft) FROM tblTarakonesh"
Dim cmd As New SqlCommand(strselect, cn)
cn.Open()

idp = cmd.ExecuteScalar()
cn.Close()
Label6.Text = idp

'cn توجه :کانکشن دیتابیسته
End Sub

gilsoft
یک شنبه 05 آذر 1391, 01:32 صبح
خطا در خط زیر :
Value = CStr(dr.GetInt32(0))
سلام دوست عزیز

بجای کد فوق یکی از کدهای زیر رو امتحان کن :

Value = CStr(dr.GetDouble(0))
یا
Value = CStr(dr.GetDecimal(0))

چون فعلا به SQL دسترسی ندارم .. با Oledb چک کردم ....
اگه مشکل حل نشد .. بگو یه فکر دیگه ای بکنیم ...

clupcd
یک شنبه 05 آذر 1391, 08:04 صبح
سلام دوست عزیز

بجای کد فوق یکی از کدهای زیر رو امتحان کن :

Value = CStr(dr.GetDouble(0))
یا
Value = CStr(dr.GetDecimal(0))

چون فعلا به SQL دسترسی ندارم .. با Oledb چک کردم ....
اگه مشکل حل نشد .. بگو یه فکر دیگه ای بکنیم ...
با سپاس فراوان کد دومی جواب داد
واقعا مرسی
ولی چون پایانامه ام هست در مورد ساختار تابع توضیح بدین ممنون میشم
خط به خط...
تابع sum جمع بود تابع تفریق چیه؟

clupcd
دوشنبه 06 آذر 1391, 09:00 صبح
یک سوال دیگه هم دارم که همینحا میگم واسش تاپیک نمیذارم
نوع فیدهای جدول من float است وقتی به decimal تغییر میدم بعد برنامه رو اجرا میگیرم visual studio ارور فوق را میدهد :

An error occurred creating the form. See Exception.InnerException for details. The error is: Specified cast is not valid.

حالا باس چکار کنم؟

gilsoft
دوشنبه 06 آذر 1391, 10:26 صبح
حالا باس چکار کنم؟

سلام دوست عزیز

از یکی از دو روش زیر استفاده کن :

Dim nDouble As Double = 1234567890.123456
Dim nDecimal As Decimal

' روش 1
nDecimal = CDec(nDouble)

'روش 2
nDecimal = System.Convert.ToDecimal(nDouble)

Console.WriteLine(nDecimal)


موفق باشید