Link to home
Start Free TrialLog in
Avatar of KarlTheHopeless
KarlTheHopelessFlag for United Kingdom of Great Britain and Northern Ireland

asked on

adding rows to new database with visual basic

Hello People

I have just created a new database called database1.sdf with just two records.

I did this using the IDE in Visual Studio.

But I now want to add a few hundred records that reside in a file to this new database, and I do not even know how to begin to do this.

I am competent in Visual Basic, but I am clueless about databases.

How should I begin? Where should I look?

Thank you

Karl

Capture.PNG
Avatar of Kalpesh Chhatrala
Kalpesh Chhatrala
Flag of India image

you can use "inser into" command for instert record

Sample

insert into BasicTable(Title,FirstName) Values('Mr.','Kalpesh')

Avatar of KarlTheHopeless

ASKER

I don't think that even gets me to first base.

Don't I need to connect to the database, or something? - before I can do anything.
SOLUTION
Avatar of Sharath S
Sharath S
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
That doesn't seem appropriate really.

I need to read a very big file of records and then chop each RECORD into the various FIELDS of the new database.

My problem is that I do not know how to OPEN this database and Read/Write to it using Visual Basic.
Hi Kalpesh

I tried this, but it failed to connect, ...

Dim con As New SqlConnection
        Dim cmd As New SqlCommand
        con.ConnectionString = "Data Source = C:\Users\karl\Documents\Visual Studio 2010\Projects\Pupils\Pupils\Database1.sdf"
        con.Open()
        cmd.Connection = con
     
I got this error message ...

"A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)"

But I do not know what to do about it.
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Ha. I'm almost there, having found the code below elsewhere.

My *only* problem now seems to be with the INSERT bit in the following code.

I've obviously misunderstood how it works,

.....

  Dim con As New System.Data.SqlServerCe.SqlCeConnection("Data Source=C:\Users\karl\Documents\Visual Studio 2010\Projects\Pupils\Pupils\Database1.sdf")
       
        con.Open()
       
        Dim cmd As System.Data.SqlServerCe.SqlCeCommand

        'Create an instance of SqlCeDataReader
        Dim dtr As System.Data.SqlServerCe.SqlCeDataReader

        'INSERT
        cmd = New System.Data.SqlServerCe.SqlCeCommand("INSERT INTO BasicTable (ParentID,FirstName,SecondName) VALUES (3,john,smith)", con)
        cmd.ExecuteNonQuery()

        'Retrieve data from BasicTable
        cmd = New System.Data.SqlServerCe.SqlCeCommand("SELECT FirstName FROM BasicTable", con)
        dtr = cmd.ExecuteReader()

        'Read and display the data
        While dtr.Read()
            MsgBox(dtr("FirstName"))
        End While
        'Close the DataReader
        dtr.Close()

        'Close the database connection
        con.Close()
Got it.

The apostrophes were missing.
Thank you.
Avatar of MarkThomasLee
MarkThomasLee

kalpesh2804
Thank you for your response to this thread.  I'm not having the same issue, but did find the link to datasets, collections, and such very helpful.  I'm an old Visual Studio 6 developer C++, VB. Didn't do any .net stuff, just ADO, and ODBC.  I found the .net / collections & dataset article very helpful at getting my head around DATASETS & COLLECTIONS. I can really see the value.

Thanx again
Mark