Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 643
  • Last Modified:

C#, Database connection error

Good Morning all,

I am writing a test program to connect a C# WinForm to a test database .SDF file. I have managed to populate the database and make it show up in a datagridview already but now I am trying to add data during runtime. At first I am hard coding the values to add but when I do it I get an error about the User ID. I am not sure what to code for it because when I created the database no user ID was defined only the password. Here is my code

 
SqlCeConnection sqlConnection1 = new SqlCeConnection();
            sqlConnection1.ConnectionString = "Data Source = C:\\Users\\smunsell\\Documents\\TestDB.sdf; User ID = ???; Password = Password";

            System.Data.SqlServerCe.SqlCeCommand cmd = new System.Data.SqlServerCe.SqlCeCommand();
            cmd.CommandType = System.Data.CommandType.Text;
            cmd.CommandText = "INSERT [UserData] (ID, User, Status) VALUES ('12', 'Tim', 'Inactive')";
            cmd.Connection = sqlConnection1;

            sqlConnection1.Open();
            try
            {
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            sqlConnection1.Close();

Open in new window


Any ideas how to fix it or what I should put in my uer id? Screenshot of program attached. Error code as well.

screen.png
error.png
0
Pandemonium1x
Asked:
Pandemonium1x
  • 3
  • 2
1 Solution
 
Carl TawnSystems and Integration DeveloperCommented:
I don't think you need to pass a user id for a CE connection string. Just remove it so your string becomes:
sqlConnection1.ConnectionString = "Data Source = C:\\Users\\smunsell\\Documents\\TestDB.sdf; Password = Password";

Open in new window

0
 
Pandemonium1xAuthor Commented:
I have thought of that too but if I remove it I get


There was an error parsing the query. [Tolen line number =1, Token line offset = 20, Token in error = User]
0
 
Pandemonium1xAuthor Commented:
Not sure if this helps but here is my DB tree too.
struct.png
0
 
Carl TawnSystems and Integration DeveloperCommented:
I think it complaining because User is a reserved word, and it is referring to your query rather than the connection string.

Try changing:
cmd.CommandText = "INSERT [UserData] (ID, User, Status) VALUES ('12', 'Tim', 'Inactive')";

Open in new window

To:
cmd.CommandText = "INSERT [UserData] (ID, \"User\", Status) VALUES ('12', 'Tim', 'Inactive')";

Open in new window

0
 
Pandemonium1xAuthor Commented:
You deserve a rank of "Jedi" my friend. Good answer...Thanks it worked!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now