dostęp do bazy danych

0

Witam . Mam następujący kod


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?

0

A masz LocalDB na tym innym komputerze?

0

To zamiast localdb co powinienem dodac ?

0

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

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ę.

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/

0

Nie chce pójść :/

0

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

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 .

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.

0

A ma znaczenia jaką wersję VS mam obecnie?

0

Raczej nie, a jaką masz ?

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 :/

1

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

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 :)