PDA

View Full Version : سوال: خواندن اطلاعات فایل متنی از بانک با فیلد نوع image



rezaei manesh
شنبه 11 اردیبهشت 1389, 11:14 صبح
سلام
من یه فایل دارم که اونو در بانک اس کیو ال با فیلد از نوع image ذخیره کردم حالا می خوام اطلاعات اونو بخونم و بخشی از اونو با رکورد های دیگری از همان بان ترکیب کنم و یه فایل جدید بسازم
من قبلا واسه عکس این کار رو کردم اما نمی دونم چه جوری باز کنم که بتونم توش دنبال یه متنی بگردم؟
کد زیر رو نوشتم اما نتونستم توش جستجو کنم


Dim bytNosFileValue() As Byte
bytNosFileValue = tbl.Rows(i)("NosFileValue")
If bytNosFileValue IsNot Nothing Then
Dim stream As New IO.MemoryStream(bytNosFileValue, True)
stream.Write(bytNosFileValue, 0, bytNosFileValue.Length)
'stream.Read()
stream.Close()

End If


یه سوال دیگه مربوط به همین فایل من قبل از این که این فایل رو ذخیره کنم اونو باز می کنم و یه اسم و یه کد از توش در میارم و تو فیلد جدا ذخیره می کنم او نوشتم اما واسه اسم اگه فارسی باشه حروف ناخوانا نشون می ده؟
اینم کد این قسمت


Dim TextLine, StrSTag, StrETag As String
Dim s, e As Integer
FileOpen(1, StrFilePath, OpenMode.Input) ' Open file for reading.
While Not EOF(1)
' Read next line.
TextLine = LineInput(1)
StrSTag = "<DC>"
StrETag = "</DC>"
If TextLine.Contains(StrSTag) Then
s = TextLine.IndexOf(StrSTag, 0)
e = TextLine.IndexOf(StrETag, s)
DecClinicCode = TextLine.Substring(s + StrSTag.Length, e - StrETag.Length + 1)
Else
StrSTag = "<DN>"
StrETag = "</DN>"
If TextLine.Contains(StrSTag) Then
s = TextLine.IndexOf(StrSTag, 0)
e = TextLine.IndexOf(StrETag, s)
strClinicName = TextLine.Substring(s + StrSTag.Length, e - StrETag.Length + 1)
Else
StrSTag = "<RC>"
StrETag = "</RC>"
If TextLine.Contains(StrSTag) Then
s = TextLine.IndexOf(StrSTag, 0)
e = TextLine.IndexOf(StrETag, s)
IntNosCount = TextLine.Substring(s + StrSTag.Length, e - StrETag.Length + 1)
Exit Try
End If
End If
End If

' Position of next line.
'MsgBox(Seek(1))
End While

rezaei manesh
دوشنبه 20 اردیبهشت 1389, 11:23 صبح
سلام
یعنی هیشکی نمی تونه یه فایل متنی رو از بانک بخونه و توش جستجو انجام بده بدون این که فایل رو تو هارد ذخیره کنه؟

alireza_s_84
دوشنبه 20 اردیبهشت 1389, 11:46 صبح
سلام آقا حامد:
این از سوال اول:

Dim bytNosFileValue() As Byte
bytNosFileValue = tbl.Rows(i)("NosFileValue")
If bytNosFileValue IsNot Nothing Then
Dim stream As New IO.MemoryStream(bytNosFileValue, True)
stream.Write(bytNosFileValue, 0, bytNosFileValue.Length)
Dim Reader As New StreamReader(stream)
Dim StrToSearch As String = Reader.ReadToEnd()
stream.Close()
End If

و اما سوال دوم:

Dim TextLine, StrSTag, StrETag As String
Dim s, e As Integer

Dim StrFilePath As String
Dim fs As New FileStream(StrFilePath, FileMode.Open, FileAccess.Read, FileShare.None)
Dim Reader As New StreamReader(fs, System.Text.Encoding.UTF8)
While (fs.CanRead)
TextLine = Reader.ReadLine()
StrSTag = "<DC>"
StrETag = "</DC>"

If TextLine.Contains(StrSTag) Then
s = TextLine.IndexOf(StrSTag, 0)
e = TextLine.IndexOf(StrETag, s)
DecClinicCode = TextLine.Substring(s + StrSTag.Length, e - StrETag.Length + 1)
Else
StrSTag = "<DN>"
StrETag = "</DN>"
If TextLine.Contains(StrSTag) Then
s = TextLine.IndexOf(StrSTag, 0)
e = TextLine.IndexOf(StrETag, s)
strClinicName = TextLine.Substring(s + StrSTag.Length, e - StrETag.Length + 1)
Else
StrSTag = "<RC>"
StrETag = "</RC>"
If TextLine.Contains(StrSTag) Then
s = TextLine.IndexOf(StrSTag, 0)
e = TextLine.IndexOf(StrETag, s)
IntNosCount = TextLine.Substring(s + StrSTag.Length, e - StrETag.Length + 1)
End If
End If
End If
End While

امیدوارم مشکلت حل بشه

rezaei manesh
دوشنبه 20 اردیبهشت 1389, 16:35 عصر
خیلی ممنون که جواب دادی تست می کنم اما فکر می کنم که مشکل حل میشه