PDA

View Full Version : گزارش گیری و چند مشکل



mohammad-gh
یک شنبه 08 اردیبهشت 1387, 14:06 عصر
با سلام
من در پروژه خود که با vs 2005 و با نک sql 2000 نوشته ام با دو مشکل در گزارش گیری مواجه ام:
1-ابتدا اینکه وقتی من از یک جدول جستجو می کنم تا نتیجه را در یک دیتا تیبل ریخته و به کریستال ریپورت وصل کنم همه چیز درست است اما وقتی از دو جدول می خواهم همین کار را بکنم دوباره می خواهد به بانک لاگین شوم(یوزر من sa و با پسورد است)
2-من اگر بخواهم نتیجه یک جستجو را مابین دو تاریخ که به صورت شمسی( nvarchar) در بانک ذخیره شده پیدا کنم چه کار کنم.

eyes_shut_number1
یک شنبه 08 اردیبهشت 1387, 14:10 عصر
راستش در مورد سوال دوم!
کار اشتباهی کردی که با nvarchar ذخیره کردی چون که کوئری بر اساس تاریخ با datetime خوب جواب میده!
باید توی یه دیتا ست بریزیش و تمام اون فلید های تاریخ ;i nvarchar هستن رو split کنی بعد با کلی درده سر شرط بإاری
راه دوم اینه که از کاربر تاریخ فارسی بگیری و با یه کامکپوننت تاریخ فارسی مثل persiantools
تاریخ رو لاتین ثبت کنی و باز موقع شرط هات این cast رو انجام بدی

ali_md110
سه شنبه 10 اردیبهشت 1387, 00:16 صبح
دوست عزیز تکه کد زیر جستجو با دوتاریخ رو با فرمت فیلد varchar انچام میده
Private Sub project_search()
Dim CNN As OleDbConnection
Dim DataReader As OleDbDataReader
Dim Command As OleDb.OleDbCommand
Dim mytbl As DataTable
Dim cnnstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\taraz.mdb"
CNN = New OleDbConnection(cnnstr)
Dim SQL As String = "SELECT Table1.ID, Table1.sdate, Table1.DES FROM(Table1)WHERE (((Table1.sdate) Between [@Adate] And [@Bdate]))ORDER BY Table1.sdate"
Command = New OleDbCommand(SQL, CNN)
Command.CommandType = CommandType.Text
Command.Parameters.Add("@Adate", Data.OleDb.OleDbType.VarChar, 10).Value = Me.txtdatefrom.Text
Command.Parameters.Add("@Bdate", Data.OleDb.OleDbType.VarChar, 10).Value = Me.txtdateto.Text
CNN.Open()
DataReader = Command.ExecuteReader
If DataReader.HasRows Then
mytbl = New DataTable
mytbl.Load(DataReader)
DataGridView1.DataSource = mytbl
Else
MsgBox("رکوردی پیدا نشد")
End If
DataReader.Close()
CNN.Close()
End Sub

mohammad-gh
سه شنبه 10 اردیبهشت 1387, 13:49 عصر
ممنون از لصفا شما
سوال اول من هم باید یه دلیلی داشته باشه.

mohammad-gh
چهارشنبه 11 اردیبهشت 1387, 13:46 عصر
کد آقای ALI-md110 هم کار نکرد .
پس چرا همه تو فروم گفتن بهتره تاریخ رو به صورت استرینگ ذخیره کنید.