dostęp do bazy danych

dostęp do bazy danych
K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

Witam . Mam następujący kod

Kopiuj

public partial class Form1 : Form
    {
        private SqlConnection con;
        private SqlCommand cmd;
        private SqlDataAdapter da;
        private DataTable dt;
        public Form1()
        {
            InitializeComponent();
            ConnectDB();
        }
        public void ConnectDB()
        {
            con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Miasto.mdf;Integrated Security=True;Connect Timeout=30");
            con.Open();
            cmd = new SqlCommand("SELECT * FROM Miasto");
            cmd.Connection = con;
            da = new SqlDataAdapter(cmd);
            dt = new DataTable();
            da.Fill(dt);
            textBox1.Text = dt.Rows[1]["NazwaMiasto"].ToString();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }

problem pojawia się gdy przerzucę skompilowany program na inny komputer, pokazuje mi że brakuje pliku z bazą danych ? :/ Mógłby ktoś pomoc?

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

A masz LocalDB na tym innym komputerze?

K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

To zamiast localdb co powinienem dodac ?

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Adres instancji serwera, na którym istnieje ta baza.

K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

To rozumiem. Ale czy jest tak możliwość aby to był plik który jest jest razem z programem. Ta baza ma mieć tylko jedną tabelkę.

MC
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 127
0

W DataSource podaj ścieżkę do pliku.

Edit: Oczywiście musisz przy tym skorzystać z bazy danych, która oferuje taką możliwość np. SQLite, Firebird Embedded, SQL Compact Edition, Access. Jeżeli jest to jedna tabelka to każda się nada, osobiście polecam SQLite.

Ciągi połączeń masz na stronie: http://www.connectionstrings.com/

K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

Nie chce pójść :/

MC
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 127
0

Z jakiej bazy danych korzystasz ? Napisz więcej szczegółów.

K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

w Visual Studio stworzyłem bazę na szybko(poprzez add/data/service-based Database),później ją podłaczyłem (project/add new data source itd.) na moim komputerze śmiga, ale to ma być program dla kogoś więc no trochę lipa .

MC
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 127
0

Tak jak napisałem, w sytuacji gdy masz jedną tabelkę i chcesz dostarczać program razem z DB powinieneś użyć embedded-owanej bazy danych. W Visual Studio na gotowo masz SQL Server Compact Edition, tam możesz podać ścieżkę do pliku. Nie mam teraz VS-a pod ręką, żeby dokładnie wyjaśnić co trzeba kliknąć, zakładam, że sobie poradzisz.

K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

A ma znaczenia jaką wersję VS mam obecnie?

MC
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 127
0

Raczej nie, a jaką masz ?

K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

2013 pro. Na laptopie miałem 2010 jeszcze i teraz sprawdziłem i jest to o czym mi mówiłeś, a na 2013 nie ma :/

MC
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 127
MC
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 127
1

Tu masz jeszcze dodatek do eksploracji tych plików: https://visualstudiogallery.msdn.microsoft.com/0e313dfd-be80-4afb-b5e9-6e74d369f7a1

K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

Wielkie Dzięki za pomoc :) ale rozkminiłem to troszkę inaczej :) jak jest publish to zaznaczyłem że program instalowany ma sobie sciągac sql localdb czy cos takiego :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.