Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2009, 22:30   #1
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию Подключение к базе данных Accessa (C#)

Здравствуйте!
Пишу программу на C# которая устанавливает соединение с базой данных Access. Возник вопрос - как сделать так чтоб базу можно было открыть самому?

Для этой цели создал openFileDialog1. Вобщем, цель - чтобы прога подсоединялась к выбранной в диалоге базе данных.


Код:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="TMP.Properties.Settings.ConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=&quot;C:\Documents and Settings\Emperor\My Documents\Visual Studio 2005\Projects\TMP\ALPHA.accdb&quot;"
            providerName="System.Data.OleDb" />
    </connectionStrings>
</configuration>
Код:
 public static class DBOperations
    {
       public static string conString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and Settings\Emperor\My Documents\Visual Studio 2005\Projects\TMP\ALPHA.accdb";
        
        public static OleDbConnection conn = new OleDbConnection(conString);
        
        public static int DoNonQuery(string query)
        {
            OleDbCommand cmd = new OleDbCommand(query, conn);
            try
            {
                if(conn.State != ConnectionState.Open) conn.Open();
                cmd.ExecuteNonQuery();
                return 1;
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
                return -1;
            }
            
        }
Как путь к открываемому файлу присвоить заместо пути указанного в коде выше (т е поменять DataSource).

Спасибо!

Последний раз редактировалось Raptor; 15.11.2009 в 22:50.
Raptor вне форума Ответить с цитированием
Старый 16.11.2009, 02:46   #2
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Сделал так:

Код:
 public static class DBOperations
    {

        public static string DBpath;
public static string conString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+DBpath;
.....
Код:
 public partial class MainForm : Form
{
.....
DBOperations.DBpath =openFileDialog1.FileName;
.....
}
DBpath принимает значение выбранного пути к файлу базы данных, но ни в какую не хочет срабатывать конструкция
public static string conString = @"Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source="+DBpath;

conString равен все время 'Provider=Microsoft.ACE.OLEDB.12.0; Data Source='
Присвоение пути напрямую срабатывает. Думаю дело в распознавании пути:
1. @"C:\Documents and Settings\Emperor\Desktop\TMP\ALPHA. accdb"
2. "C:\\Documents and Settings\\Emperor\\Desktop\\TMP\\AL PHA.accdb"

По-моему дело в этом.

Возможно тут что то с синтаксисом. Но никак не удается разобраться в чем дело.

Последний раз редактировалось Raptor; 16.11.2009 в 03:16.
Raptor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подключение к базе ORACLE cowboy БД в Delphi 1 17.09.2009 16:48
подключение к базе Oracle при помощи php Paul Hindenburg PHP 2 28.10.2008 00:06
Поиск в базе данных St-Dyx Microsoft Office Excel 8 19.10.2008 12:13
Поиск по базе данных ERASERROR БД в Delphi 4 14.03.2008 16:34