Ado.net

Тема в разделе ".NET", создана пользователем ultra, 15 июн 2007.

Статус темы:
Закрыта.
  1. ultra

    ultra Гость

    Всем привет!

    1) Пишу курсовая по C#, работа преимущественно с Access. Дома при компилировании программы приходиться указывать вручную Data Source - таким образом connectionString содержить путь к моей БД.

    Мне же хотелось бы чтобы программа работала с БД,находящейся в одной папке с программой.Как можно указать Data Source таким образом,чтобы программа автоматом подрубалась к БД.

    2) Где храниь натсройки подключения? В ДЛЛ-ке где хранится моя функция авторизации, каждая функция подключается вручную(OleDbCommand,OleDbConnection), хотелось бы вынести настройки в отдельное место, дабы не прописывать каждый раз путь к БД, и т.д.
     
  2. NikSoft

    NikSoft Гость

  3. ultra

    ultra Гость

    Для: NikSoft
    спасибо. Ну а как же сделать так, чтобы программа соединялась с БД,которая находится в одной и той же папке что и приложение? Может в connectionString указать просто Name.mdb ?
     
  4. NikSoft

    NikSoft Гость

    Для: ultra
    Одно из возможных решений:

    Код (Text):
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Text;
    using System.Configuration;
    using System.Windows.Forms;

    namespace MdbConnection
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    try
    {
    string connectionString = ConfigurationManager.ConnectionStrings["PersonConnectionString"].ConnectionString;
    OleDbConnection myConnection = new OleDbConnection(String.Format(connectionString, Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf("\\") + 1)));
    OleDbCommand myCommand = new OleDbCommand("SELECT first FROM person");
    myCommand.Connection = myConnection;

    myConnection.Open();
    using (OleDbDataReader reader = myCommand.ExecuteReader())
    {
    while (reader.Read())
    {
    MessageBox.Show(Convert.ToString(reader["first"]), "Info",MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    }
    reader.Close();
    }
    myCommand.Connection.Close();
    }
    catch (Exception ex)
    {
    System.Diagnostics.Debug.WriteLine(ex.Message + ex.StackTrace);
    }

    }
    }
    }
    Файл конфигураций:
    Код (Text):
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <connectionStrings>
    <add name="PersonConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}company.mdb;Persist Security Info=False" providerName="System.Data.SqlClient" />
    </connectionStrings>
    </configuration>
    company.mdb лежит в той же папке, что и MdbConnection.exe,MdbConnection.exe.config
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей