Brak danych w DataList

0

Witam,

zaczynam się bawić z .NET i mam dwa problemy, których nie mogę przeskoczyć.

  1. Chcę w DataList wyświetlić dane z tabeli pliku access 2000 po 'kliknięciu' przycisku. Mój kod:

Protected void Button1_Click(object sender, EventArgs e)
{
System.Data.OleDb.OleDbConnection
Conn = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;Data Source=E:\Programowanie\dostep_do_danych\App_Data\od_SAP_nij.mdb");
System.Data.OleDb.OleDbDataAdapter Polecenie =
new OleDbDataAdapter("SELECT osoba.* FROM osoba", Conn);
DataSet DS = new DataSet();
Polecenie.Fill(DS, "osoba");
this.MyDataList.DataSource = DS;
this.MyDataList.DataBind();
}

Niestety po 'kliknięciu' przycisku na formularzu pojawia się tyko maluteńki kwadracik obiektu DataList. Co jest nie tak?

  1. Ten sam kod tylko zamiast z bazą danych access na moim komputerze łączę się z bazą umieszczoną na serwerze. Czyli zmieniam zmienną Conn na:
    Conn = new OleDbConnection("Provider=System.Data.SqlClient;Data Source=mssql2005.top100.net.pl;Initial Catalog=adresyg300a;User ID=*****;Password=****");

oczywiście w miejsce * wpisuję to co trzeba. Dostaję taki błąd:

The 'System.Data.SqlClient' provider is not registered on the local machine.

O co chodzi?

pozdrawiam

0

Witam,

ze swojej strony mogę ci polecić sprawdzić następujące rzeczy:

  1. Zapytanie jakie przesyłasz do bazy. Najlepiej zrób to używając Visual Studio. Otwórz Server Explorer (View->Server Explorer). Następnie kliknij ikonkę "Connect to database". W Data source kliknij Change... i wybierz "Microsoft Access Database File". Następnie "Browse..." i wybierz plik bazy *.mdb. Potem przejdz do Server Explorer i powinieneś widzieć połączenie do twojej bazy. Rozwiń katalog "Tables" i kliknij prawym przyciskiem myszy na tabeli i wybierz "New query". Wybierz daną tabelę i naciśnij "Add". W pasku masz przycisk "Change type..." z niego wybierz typ polecenia czyli Select. Możesz wpisać sam polecenie i je prztestować na danej bazie.

  2. Załóż "Breakpointa" po poleceniu Fill i sprawdź zawartość obiektu DataSet.

  3. Jeżeli podłączysz plik bazy w Visual Studio wybierz Properties danego połączenia i sprawdź Connection string czy zgadza się z twoim.

Co do drugiego problemu to czy baza do której się łączysz jest bazą MS SQL? Jeśli wpisujesz "Provider=System.Data.SqlClient " tzn., że chcesz się łączyć do bazy MS SQL, a używasz obiektu OleDbConnection, kótry reprezentuje połączenie do bazy Accessa. Spróbuj użyc zamiast OleDbConnection to SqlConnection.

Pozdrawiam
Sebastian

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