|
Hi,
You can read this file in to one temperary dataset and datatable.
By checking the values in the cells you can read whichever row you want.
This is one easiest way, may be if you can find any more effective ways to
do it for improving performance do little much research.
But the easiest way is which I have shown you.
Thanks a Lot,
Aleem Mohammad.
Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
|
|
|
|
|
i wanna read them so i can insert them in a database starting with lines 11, then insert 12 , then 13
|
|
|
|
|
Unless you need data from lines starting 11 to use in lines starting 12 etc then there is no need to read them in a specific order - when you retrieve the data from the database do an order by. That is one of the advantages of a database.
Bob
Ashfield Consultants Ltd
|
|
|
|
|
Actually i need data from 11 to use in 12, the whole idea is to read line 11 insert it into database, then insert the 12 related to that 11 into database, then the 13 that are related to them
|
|
|
|
|
In which case why not read the entire file and store the different record types in (say) dictionaries so you can jus use them as required.
Bob
Ashfield Consultants Ltd
|
|
|
|
|
Why not read them all with file.readalllines, then build a map of lists of strings and thus sort them according to the sets you're after, and then work through those lists ?
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
You could try something like this.
The example data could be interpreted as
(a) a set of files where each file contains one 11 record,
or (b) one file that has multiple 11 records with each one followed by 12, 13 and 14 records.
I assume the latter.
Imports System
Imports System.Text
Imports System.IO
module CSVReader
public Sub Main()
Dim theFile As String = "C:\PlayPen\TheData.txt"
Dim rdr As StreamReader = new StreamReader(theFile)
Using (rdr)
Dim theKey As String = ""
Dim input As String
Dim recType As String
while (rdr.Peek >= 0)
input = rdr.ReadLine() 'Should check that not a blank line
Dim recArray As String() 'if there is one then following fails
recArray = input.Split(",")
recType = recArray(0)
Select Case(recType)
case "11":
theKey = recArray(1) 'Need to change this to get type 11 key
Process11(input)
case "12":
Process12(theKey, input)
case "13":
Process13(theKey, input)
case "14":
Process14(theKey, input)
case else
Console.WriteLine("Oops: {0}", input)
End Select
End While
End Using
End Sub
private Sub Process11(rec As String)
Console.WriteLine("Proc11 {0}",rec)
End Sub
private Sub Process12(key11 As String, rec As String)
Console.WriteLine("Proc12 key = {0}: {1}", key11, rec)
End Sub
private Sub Process13(key11 As String, rec As String)
Console.WriteLine("Proc13 key = {0}: {1}", key11, rec)
End Sub
private Sub Process14(key11 As String, rec As String)
Console.WriteLine("Proc14 key = {0}: {1}", key11, rec)
End Sub
End Module
The text file I used to test this is as follows:
11,one,xyz
13,abc_one,xyz
12,aaa_one,xyz
14,bad_one,xyz
13,abc_one,xyz
12,aaa_one,xyz
11,two,xyz
13,abc_two,xyz
14,bad_two,xyz
13,abc_two,xyz
14,bad_two,xyz
14,bad_two,xyz
13,abc_two,xyz
13,abc_two,xyz
14,bad_two,xyz
11,three,xyz
12,aaa_three,xyz
13,abc_three,xyz
11,four,xyz
14,bad_four,xyz
12,aaa_four,xyz
13,abc_four,xyz
11,five,xyz
12,aaa_five,xyz
12,aaa_five,xyz
14,bad_five,xyz
14,bad_five,xyz
14,bad_five,xyz
14,bad_five,xyz
13,abc_five,xyz
13,abc_five,xyz
11,six,xyz
12,aaa_six,xyz
Obviously your data has more fields but the general technique should work.
|
|
|
|
|
|
Hmmm!
Not sure from your reply whether this was helpful or not.
From your original post it looked like you needed to process a text file with type 11 records followed by other types in no particular order. I just used some standard 'Control-Break' type processing that is well known to COBOL programmers (though some of them would not like the Select Case - particularly those brought up on Jackson Structured Programming!)
|
|
|
|
|
Hi,
I want to understand the compilation and runnung techniques of VB. I am .Net programmer, have been assigned with some small VB task.
I am frequently strucking up because of lack of understanding VB and its compilation and running techniques(IDE).
For example, there is one project which I have added in to my application and want to use it.
When I compile it, it is compiling but when I run it it is saying compilation error "User-defined type not defined".
When I added a library and tried for running the application then I got the following message "No creatable public component detected"
I am unable to follow this, so please anybody can provide me some hints or links to better understand the VB 6.0 IDE, so that atleast I can run any given code.
Because I am not strucking up at code, I am understanding the code very well but strucking up at the small techniques.
Please can any body help me in overcoming this. I would be very much thankfull.
Thanks a Lot,
Aleem Mohammad.
Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
modified on Tuesday, November 25, 2008 2:30 AM
|
|
|
|
|
Oh, you're stuck in VB6 hell. That really sucks. VB6 has been dead for some time.
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
Hi Christian,
How are u, after a long time we met. Its fine everything here, how is everything going on there?
If possible can u please me in this.
Aleem Mohammad.
Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
|
|
|
|
|
*grin* hi
I'm sorry, I never use VB6. I started to reply b.c I thought it was a VB.NET question, then I realised half way through it was VB6. You were less than clear on this. VB6 is, as I said, dead, defunct and crap. You should put VB6 in your subject line to attract an answer from the handful of people still using it.
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
to attract an answer from the handful of people still using it.
Sorry
You should put VB6 in your subject line.
Thanks I will follow it.
Aleem Mohammad.
Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
|
|
|
|
|
Christian Graus wrote: put VB6 in your subject line to attract an answer from the handful of people still using it
I agree.
Christian Graus wrote: I never use VB6
Same here, and glad I never had to
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
|
|
|
|
|
indian143 wrote: When I compile it, it is compiling but when I run it it is saying compilation error "User-defined type not defined".
Go to references and correct all references which has a "MISSING" prefix.
|
|
|
|
|
Hi,
I am trying like that, but some times it doesnt show the "Missing" prefix. Still I am trying one by one.
Thanks,
Aleem Mohammad.
Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
|
|
|
|
|
Yeah. It's a crap. I had the same issues when I was developing in VB6. But I don't remember the workarounds as it was long time back.
|
|
|
|
|
It sucks that you're still on VB6, here's what I would do
indian143 wrote: When I compile it, it is compiling but when I run it it is saying compilation error "User-defined type not defined".
Sounds like there is a variable not defined for a udt. Like the code below:
Private Type udtScannerInfo
strLoadID As String
strLoadDate As String
End Type
Private muScannerInfo(1 To 2) As udtScannerInfo
indian143 wrote: When I added a library and tried for running the application then I got the following message "No creatable public component detected"
Sounds like a problem with the class.
Open your main project. Go to references. Write down the names of all the custom vb6 projects that are being referenced (those created in house).
Open each one separately and compile it. After you have compiled all the sep references, you should test them individually. Open up a new instance of VB6, and add it in just 1 of the vb6 projects as a reference and instantiate the objects in that .dll. Ensure each .dll works like this. If you find one that doesn't work, you've narrowed down which one is broken.
If all of them compile and they can all be used in a simple vb6 test app, then go back to your main app and continue debugging there. If you're having registry problems (aka: .dll hell), download and run dial-a-fix to repair the corrupt registration keys.
Any suggestions, ideas, or 'constructive criticism' are always welcome.
"There's no such thing as a stupid question, only stupid people." - Mr. Garrison
|
|
|
|
|
Thanks I got it and completed.
Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
|
|
|
|
|
oracle connection in background workernew
48mins ago
I have a class (Query) that dimensions a new background worker and a new oracle connection. Each instance of the query class is supposed to query the database, wait a specific amount of time then query again. The first time a trigger an event (which creates a new instance of the query), the background worker RunWorkerCompleted event will not fire, however everytime I trigger an event after that (whether its the same one or a different one), the event will work fine. If I remove the oracle database connection instance (and all related code), this problem goes away. Does this make any sense to anyone. I dont even need to use the connection instance, as long as I try to create a new one, this keeps happening. I am so confused!
Any help would be great
Public Class Query
Implements IDisposable
Private m_trigger_time as Datetime
Private m_cfg as TriggerCfg
Private m_handle as System.Threading.AutoResetEvent
Pivate m_connection As Client.OracleConnection
Private WithEvents m_bgworker as System.ComponentModel.BackgroundWorker
Public Sub New(ByRef cfg as TtriggerCfg, ByVal time as DateTime)
m_cfg = cfg
m_trigger_time = time
m_handle = New System.Threading.AutoResetEvent(False)
m_bgworker = New System.ComponentModel. BackgroundWorker
m_connection = New Client.OracleCOnnection(My.Settings.OraConnectionString.ToString)
m_bgworker.RunWorkerAsync
End Sub
Private TriggerAction(ByVal sender as Object, ByVal e as System.ComponentModel.DoWorkEventArgs) Handles m_bgworker.DoWork
...Do db query
m_handle.Wait(New TimeSpan(0,0,10),False)
...Do db query
End Sub
Private Sub Completed(ByVal sender as Object, ByVal e as System.ComponentModel.RunWorkerCompletedEventsArgs) Handles m_bgworker.RunWorkerCompleted
Dim worker as System.ComponentModel.BackgroundWorker = Ctype(sender, System.ComponentModel.BackgroundWorker)
If e.Error IsNot Thing Then
MsgBox(e.Error.Message)
Else If e.Cancelled Then
MsgBox("Cancelled")
Else
Me.Dispose()
End Sub
End Class
|
|
|
|
|
Hi all,
I am using Visual Studio 2008 and Sql Server 2005
I am use some CLR Programming in my windows application and it goes fine.
But I got Some Error during Transaction in my application.
Error : Transaction (Process ID 55) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
So, What is the Problem and How Can I Solve this Type of Problem.
Thanking you very much.
Arindam Banerjee
Sr. Software Developer
Rance Computer Pvt Ltd.
Kolkata (India)
|
|
|
|
|
You should be asking this in the SQL Forum. It has nothing to do with VB.NET.
|
|
|
|
|
I have developed a VB6.0 application and created Report using Crystal Reports 9. When I run the application, and opened the reports, the reports showed up correctly in my machine in which crystal reports is installed. When I build the EXE and run it in another machine without VB & Crystal Reports, My application is opening up but the Report is not opening up, instead it gives an error message "Run-time Error 429. Activex component can't create Object"
I feel probably some DLL or OCX files to be registered to make crystal reports work in the client machine. I also tried copying some DLL files and OCX files to system32 folder, but in vain. Probably some more files are missing.
Anybody Pls provide me the complete package of files to be copied in the client machine to make my Reports open up.
Thanks in advance
|
|
|
|
|
Why on earth would anyone use VB6 ? It's rubbish, it was always rubbish, and it's been a dead language for many years now.
Your VB app doesn't need the compiler to work, but your report DOES need Crystal Reports to be on the client machine.
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|