Синхронизация базы данных SQL Server с моим проектом в c # - PullRequest
2 голосов
/ 30 марта 2012

Сэр, У меня возникли проблемы с базой данных в SQL Server. Мой проект - настольное приложение с методом входа в систему .... Моя программа написана на C # выполняется нормально, как я хочу, без ошибок в моих запросах ... Но данные не сохраняются обратно в базу данных, которую программа вставляет или обновляет ... Моя база данных создается Visual Studio 2010 как отдельный файл mdf в папке данных ... Пожалуйста, помогите мне в этом. Вот пример кода:

private void btnLogin_Click(object sender, EventArgs e)
{
  try
  {
     using (SqlConnection cn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database_File.mdf;Integrated Security=True;User Instance=True"))
     {
        using (SqlCommand cmd = new SqlCommand("select * from table_users where user_name='" + txtBoxUserName.Text + "' and user_password='" + txtBoxUserPass.Text + "' ",cn))
        {
          cn.Open();                        
          dr = cmd.ExecuteReader();
          while (dr.Read())
          {
            if (dr["user_name"].ToString() == txtBoxUserName.Text && dr["user_password"].ToString() == txtBoxUserPass.Text)
            {
              ...
              ...
              try
              {
                using (SqlCommand cmd1 = new SqlCommand("insert into table_user(id,user_name,user_status) values(" + key + "," + active_user_name + "',"+ user_status + ")",cn))
                {
                  cmd1.ExecuteNonQuery();
                  Thread form_name = new Thread(new ThreadStart(thread_Proc_form_name));
                  form_name.Start();
                }
              }
              catch  { throw;}
            }
          }
        }
     }
  }
  catch  { throw;}
}

Программа работает как я хочу, но когда я просматриваю таблицу базы данных, никакие изменения не сохраняются. Например, при входе в систему информация о входе в систему не отображается при следующем запуске. То же самое и в случае с регистрацией ... каждый раз, когда я запускаю приложение, мне приходится регистрироваться снова и снова. Я не знаю, где ошибка. Пожалуйста, помогите мне, сэр, где я иду не так ...

Спасибо и С уважением Саурабх Махаджан

Ответы [ 2 ]

0 голосов
/ 07 апреля 2012

Чтобы подключиться к SQL Server из C # .NET, вам необходимо создать строку подключения, такую ​​как ниже:

private SqlConnection connection; 
private string connectionString = @"Server=(local);Database=Embedding_SQL_Test;User ID=sa;Password=123"; connection = new SqlConnection( connectionString );

Далее вы используете созданный выше объект SqlConnection для создания SqlCommand, как показано ниже:

SqlCommand cmd = new SqlCommand( "select * from Customer where CustomerID = @Cid", connection);

Показанный здесь SQL-запрос может быть заменен запросами SELECT, INSERT, UPDATE и т. д.

Далее, чтобы выполнить SQL-запросы в базе данных, вы используетеследующие методы: ExecuteReader - для выполнения запросов SELECT, ExecuteNonQuery - для выполнения операторов INSERT, DELETE, UPDATE и SET.

Это очень краткое описание того, как подключиться к базе данных SQL Server изC # и выполнять запросы SQL в базе данных.Для получения подробной информации о строке подключения, методы и их параметры проверьте следующую ссылку: (http://www.shahriarnk.com/Shahriar-N-K-Research-Embedding-SQL-in-C-Sharp-Java.html) Здесь вы также найдете подробности о том, как передавать параметры в запросы SQL, а также вызывать хранимые процедуры и многое другое.

0 голосов
/ 30 марта 2012

Этот фрагмент подсказывает мне, что у вас есть Database_File.mdf в вашем решении в Visual Studio:

AttachDbFilename=|DataDirectory|\\Database_File.mdf 

Каждый раз, когда вы строите свой проект, Database_File.mdf будет копироваться в выходной каталог, перезаписывая любой файл, который был там ранее.

Это поведение разработано.

Обратите внимание, что пользовательские экземпляры устарели , вам следует рассмотреть возможность присоединения вашего Database_File.mdf к вашему SQLЭкспресс-экземпляр на время разработки или использования чего-то вроде SQL Server LocalDB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...