C# ADO.NET wykorzystanie kratotra i podłączenie sie do bazy

0

Witam, chciałem stworzyć małą bazę danych użytkowników. Wiem że to może się mija z celem ale bardziej chodzi o nabycie umiejętności robienia tego. Kreator powiedzmy, że mniej więcej rozumiem. Pod koniec jestem pytany czy stworzyć plik konfiguracyjny app.config, zgadzam się ale jak teraz z niego skorzystać?

0

wrzuć ten plik do katalogu z projektem i dodaj go do projektu. reszta zależy od tego, jak chcesz używać połączenia z bazą (tj. "ręcznie" wykonywać sql, czy robić to za pośrednictwem linq).

0

Mam ten plik w katalogu projektu. Wzoruje się na tutorialu z tej strony: http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson02.aspx. W wyniku działania kreatora otrzymuje plik app.config, który wygląda tak:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="ADO.NET.Properties.Settings.BD_NCConnectionString"
            connectionString="Data Source=|DataDirectory|\BD_NC.sdf" providerName="Microsoft.SqlServerCe.Client.3.5" />
    </connectionStrings>
</configuration>

Mój kod wygląda tak:

using System;
using System.Configuration;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace ADO.NET
{
    public partial class Form1 : Form
    {
        ConnectionStringSettings settings;
        SqlConnection conn = null;
        public Form1()
        {
            InitializeComponent();
            settings = ConfigurationManager.ConnectionStrings["ADO.NET.Properties.Settings.BD_NCConnectionString"];
        }

        private void połączToolStripMenuItem_Click(object sender, EventArgs e)
        {
            conn = new SqlConnection(settings.ConnectionString);
            conn.Open();
        }
    }
}

No i otrzymuje błąd dotyczący lini conn.Open():
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

0

"Verify that (...) SQL Server is configured to allow remote connections" - sprawdziłeś?
czy plik BD_NC.sdf zawiera coś sensownego?

0

Nie za bardzo wiem jak to sprawdzić bo nie mam zainstalowanego SQL Servera, tam w kreatorze pojawia się wybór z jakiej bazy chce się korzystać. I jest właśnie Microsoft SQL Server Database File (SqlClient), Microsoft Access Database File (OLE DB) i jest coś takiego jak Microsoft SQL Server Compact 3.5 (.NET Framework Data Provider for Microsoft SQL Server Compact 3.5) i to wybieram. Wpisuje później nazwę, zakładam hasło i w Database Explorer pojawia mi się że połączono z bazą. Tak myślę jeszcze czy to na pewno powinno się korzystać z

using System.Data.SqlClient;

a nie z czegoś innego.

0

wybierasz "SQL Server Compact 3.5", nie masz zainstalowanego tego serwera baz danych, i liczysz że zadziała? błąd, który podałeś, mówi, że nie znaleziono takiego serwera - "Error Locating Server/Instance Specified". nie wiem, dlaczego z db explorera udaje Ci się połączyć, może jednak masz sqls compact? sprawdź, jeśli nie masz, to zainstaluj, jeśli już masz, to na google znajdziesz, jak się używa tej bazy danych i czym się różni od sqls.

0

Chyba masz rację, przeszło mi to przez myśl ale liczyłem że skoro właśnie w tym explorerze pisze że połączono to może to jakoś będzie działać;). To miała być mała baza z użytkownikami komunikatora więc może zrobię coś na xml. Jeszcze raz dzięki za odpowiedź.

1 użytkowników online, w tym zalogowanych: 0, gości: 1