Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo, ich habe ein großes Problem.

Nur zur kurzen Erklärung, mit C# und SQL habe ich quasi gar keine Erfahrung. Meine Ausbildung hat neu begonnen.

Problem bzw Aufgabe:

Ich soll in Microsoft Visual Studio ersteinmal nur ein Button anlegen.

Ersteinmal habe ich ein neues Projekt in C# (Windowas Anwendungen angelegt).

Ich habe unter Form1.cs ein Formular mit dem Button "Verbinden" angelegt

Langfristig soll aus dem Button eine ganze Applikation werden.

Ich brauche über die Applikation die Möglichkeit in die Datenbank zu schreiben, zu lesen und das Datum einzugeben.

Wenn auf diesen Button geklickt wird, soll eine Verbindung zur einer bereits vorhandenen SQL Server Datenbank erstellt werden.

Langfristig soll aus dem Button eine ganze Applikation werden.

Ich brauche über die Applikation die Möglichkeit in die Datenbank zu schreiben, zu lesen und das Datum einzugeben.

Wie soll ich das angehen? Kennt sich da jemand aus?

Danke schon einmal für eure Antworten, falls welche folgen sollten :)

LG, Azubine27

Danke für deinen Tipp. Leider hat mir das überhaupt nicht weiter geholfen als Anfänger.

:-(

Eine Möglichkeit wäre z.B. ADO.NET

Hier mal ein kurzer Artikel dazu:

Datenbankzugriff mittels ADO.NET

Ich denke das sollte mal ein paar grundlegende Fragen beantworten.

Auf was für eine DB willst denn zugreifen? Access, MS-SQL, Oracle, MySQL...?

<edit>

Ich seh grad, daß der Link nicht so der Brüller ist. Ich such mal was Verständlicheres.

</edit>

Danke. Ein noch besserer Link wäre gut.

Mein Problem, die gewissen Statements habe ich schon ab und zu gesehen, nur nie daraus erkennen können, wie ich genau zu meiner Datenbank den Zugriff erhalte. Also mit meinem Server und meiner Datenbank.Klingt komisch, ich weiß, aber als Anfänger ist es schwer sich richtig auszudrücken. :-)

Eine Microsoft SQL Server DB.

@Guybrush Threepwood:

Weil mir die Anweisungen nichts sagen, komme ich noch nicht weiter.. Hatte ja auch sofort bei msn nachgesehen.

[C#]

public void InsertRow(string myConnectionString)

{

// If the connection string is null, use a default.

if(myConnectionString == "")

{

myConnectionString = "Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;";

}

SqlConnection myConnection = new SqlConnection(myConnectionString);

string myInsertQuery = "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";

SqlCommand myCommand = new SqlCommand(myInsertQuery);

myCommand.Connection = myConnection;

myConnection.Open();

myCommand.ExecuteNonQuery();

myCommand.Connection.Close();

}

Was soll ich damit machen? bzw wo gebe ich die Datenbank ein, mit der ich die Applikation hinter meinem Button verknüpfen soll? Wie erwähnt,

absoluter Neuling. Jetzt lacht mich bitte nicht aus. Da ich es sehr wohl sehr ernst nehme mit dieser Ausbilung. Ist mir ja schon peinlich genug, dass ich nicht weiter komme trotz so vieler netter Hilfe.

Im Connection-String (in deinem Beispiel myConnectionString) gibst du an, mit welcher Datenbank du dich verbinden willst.

Da meine C#-Kenntnisse ziemlich rudimentär sind, klink ich mich hier aus. Es gibt sicher Mitglieder aufm Forum, die dir besser helfen können als ich. ;)

Vielen Dank :-)

Wie erwähnt,

absoluter Neuling. Jetzt lacht mich bitte nicht aus. Da ich es sehr wohl sehr ernst nehme mit dieser Ausbilung. Ist mir ja schon peinlich genug, dass ich nicht weiter komme trotz so vieler netter Hilfe.

Das hat nichts damit zu tun dich auszulachen oder das dir das peinlich sein müsste.

Aber ich seh da wirklich nur 2 Möglichkeiten. Entweder du kommst da nicht weiter weil dir die kompletten Grundlagen fehlen, in dem Fall solltest du die erstmal durcharbeiten bevor du mit dem Thema Datenbanken anfängst.

Oder 2. die Informationen in der MSDN dazu sollten dir helfen das Problem zu lösen. Denn da steht das du dem Konstruktor direkt den ConnectionString zur Datenbank übergeben kannst.

SqlConnection-Konstruktor (String) (System.Data.SqlClient)

und wenn du da unter Hinweise auf ConnectionString klickst bekommst du eine genaue Erklärung samt Beispiel wie so ein ConnectionString aufgebaut ist.

SqlConnection.ConnectionString-Eigenschaft (System.Data.SqlClient)

Also z.B. das Data Source den SQL Server angbit und Initial Catalog die Datenbank im Server.

Man muss ja nicht alles auf den Seiten komplett verstehen, sondern nur die für einen selbst wichtigen Information rauslesen.

@Guybrush Threepwood:Da kann ich dir nur zustimmen.

Die Grundlagen fehlen wirklich. Aber was soll ich machen, wenn mein Ausbilder mir die Aufgabe gegeben hat. Mein Ausbilder ist aktuell im Urlaub und hat mir ein Projekt gegeben. Ich soll mit einer Applikation auf eine Datenbank zugreifen. Die Datenbank konnte ich schon modellieren und anlegen, aber bei dem Rest, weiß ich echt nicht wie ich das in so kurzer Zeit schaffen soll.

Ich würde viel lieber erstmal nur mit den Grundlagen anfangen. Naja, diese Woche bin ich krank. Und wenn ich Montag wieder komme möchte ich eben wenigstens schon mit diesem Button und der Verbindung zum Internet wieder kommen. Damit das nicht ganz so armselig aussieht.

Ja das ist dann natürlich etwas blöd.

Grundsätzlich ist eins der tollen Dinge bei den .Net Sprachen das man sehr viel über den Designer machen kann ohne auch nur eine Zeile Code schreiben zu müssen.

Je nach Anforderung an das Programm kannst du so zum Beispiel einfach ein Grid auf deine Form ziehen und dieses dann mit dem Wizard direkt an deine Datenbank bzw. Tabelle binden. Hab das aber noch nie in einer Windows Forms Anwedung gemacht, da ich mehr (bzw. fast nur) auf der ASP.NET Seite tätig bin und das da alles ein wenig anders läuft.

Auf jeden Fall ist es von imensem Wert wenn man erstmal raus hat (auch das muss man lernen) wie man sich am Besten Informationen zu seinen Problemen beschafft. Also auch wenn es am Anfang undurchsichtig und unverständlich erscheint, solltest du fleißig weiter in der MSDN stöbern denn die ist dein bester Freund und Helfer dabei. Wobei du natürlich hier immer Hilfe bei konkreten Problemen findest ;)

Wenn du die Datenbankverbindung hergestellt hast kannst du über

die SqlCommand Klasse darein schreiben bzw davon lesen...

Hallo,

habe mir ein paar Word-Dokumente angelegt, in denen so einiges erklärt ist.

Wenn du möchtest, kann ich sie dir schicken und dir einiges erklären, wenn du magst.

Gruß

Alex

ps: allen anderen natürlich auch ;)

Hiir eien gleinäs Peisbiel: ;)


string connection_string = "Data Source=ServerName;Initial Catalog=Dein DatenbankName;Persist Security Info=True;User ID=DeineID;Password=DeinPasswort";

string sql = "Select * from DeineTabelle;";

DataSet datSet;


using (SqlConnection connection = new SqlConnection(connection_string))

{

   SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);

   datSet = new DataSet();

   adapter.Fill(datSet, "DeineTabelle");

   dataGridView1.DataSource = datSet.Tables["DeineTabelle"];

}

Dieses Beispiel geht von einer MSSQL-Datenbank aus!

Wenn dir was unklar ist, frage nach!

Um dich ein wenig vertraut mit ADO.NET zu machen empfehle ich dir das Ebook "galileocomputing_visual_csharp", kannst du dir runterladen irgendwo im Netz (google) oder ich schicke es dir!

Gruß

Alex

Oh danke, an deinen Dokumenten bin ich auf jeden Fall interessiert :-)

  • 1 Jahr später...

hallo alle zusammen,

ein dickes DANKE an alle die mir bisher geholfen haben.

nun begebe ich mich mal lieber in c# zurück. da möchte ich ein programm mit einer datenbankanbindung, hier mit sql server management express edition, machen.

tabellen habe ich bereits soweit angelegt, pk usw.

jetzt möchte ich die tabellen als anbindung in visual studio 2008 einbringen.

u da besteht leider mein problem.

hoffe ihr könnt mir dabei etwas helfen.

gruss hippu:confused:

ok, und was genau ist dein problem?

datenquelle anlegen? tabellen einbinden? daten darstellen? daten bearbeiten?

bitte mal ein bissl ausführlicher werden.

s'Amstel

  • 2 Wochen später...
ok, und was genau ist dein problem?

datenquelle anlegen? tabellen einbinden? daten darstellen? daten bearbeiten?

bitte mal ein bissl ausführlicher werden.

s'Amstel

hallo,

sry das ich mich erst jetzt melde. mein pc der funtz nicht mehr so richtig.

bezüglich datenquelle die habe ich soweit schon angelegt mit tabellen und pk. das einzige problem beim anlegen habe ich mit tabellen wo mehrere tabellen zusammen kommen, sozusagen eine hilfstabellle.:confused:

jedoch besteht das zunächst das eigentlich problem darin, die tabellen in vs 2008 einzubinden bzw. dass ich von vs auf den sql management server express edition nicht darauf zugreifen kann.:confused:

ich hoffe sehr das ihr mir da weiterhelfen könnt. wäre echt lieb von euch.

gruss hippu

Hiir eien gleinäs Peisbiel: ;)


string connection_string = "Data Source=ServerName;Initial Catalog=Dein DatenbankName;Persist Security Info=True;User ID=DeineID;Password=DeinPasswort";

string sql = "Select * from DeineTabelle;";

DataSet datSet;


using (SqlConnection connection = new SqlConnection(connection_string))

{

   SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);

   datSet = new DataSet();

   adapter.Fill(datSet, "DeineTabelle");

   dataGridView1.DataSource = datSet.Tables["DeineTabelle"];

}

Dieses Beispiel geht von einer MSSQL-Datenbank aus!

Wenn dir was unklar ist, frage nach!

Um dich ein wenig vertraut mit ADO.NET zu machen empfehle ich dir das Ebook "galileocomputing_visual_csharp", kannst du dir runterladen irgendwo im Netz (google) oder ich schicke es dir!

Gruß

Alex

hallo alex,

ich bin zur zeit in einer ähnlichen situation wie damals Azubine27. habe auch schon einige bücher gefälzt und komme aber nicht weiter bezüglich datenbank.

habe mal versucht mit dem sql management server express edition einige tabellen anzulegen (hat auch gefuntz ;) ). nur ich bekomme keine conection über vs 08 bzw. kann keine verbindung erstellen. außerdem gibt er nicht an wo er das ganze gesave hat.

außerdem 1 frage vorweg:

1. soll ich weiterhin noch mit diesem programm arbeiten oder soll ich lieber mysql nehmen? mit access möchte ich nicht arbeiten, da mir diese zu instabil ist bei höhrere datensätze.

gruss hippu

Hallo,

ich bin hinsichtlich Datenbanken etc. schon immer der Ansicht, man sollte sich einfach die Zeit nehmen und sich mit der Materie beschäftigen. Letztendlich um zu verstehen was dort passiert und man Interaktionen mit Datenbanken immer wieder findet, zumindest im Leben eines Programmierers. An dieser Stelle einfach mal dieser Link:

Galileo Computing :: Visual C# 2008 – 25 ADO.NET – die Verbindung zu einer Datenbank herstellen

Falls es Fragen zu diesem Artikel gibt, kann man diese gern hier stellen/beantworten.

Somit viel Spaß beim Lesen/Lernen :)

Greetz

hallo zusammen,

thx für die anworten.

ich habe mich fürs 1. erstmal für das einlesen der daten aus einer acces-datenbank entschieden. ich denke für den anfang sollte es erstmal reichen.

nur ich habe dabei ein problem, und zwar:

laut einem forum habe ich die connection genauso aufgebaut wie es angegeben ist. leider geht er nur bis standortConn.Open(); .

sobald dieser dort angekommen ist wirft er mittels einer messsag-box folgenden fehler raus: Installierbares ISAM nicht gefunden.

um es zu verdeutlichen habe ich mal den gesamten code hier vorgelegt:


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.SqlClient;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;


using System.Data.OleDb;


namespace croni

{

    public partial class Standort : Form

    {


        public Standort()

        {

            InitializeComponent();

            // Hier wird das Fenster zentriert

            CenterToParent();


        }

        /// <summary>

        /// Das DataSet-Objekt wird hier referenziert

        /// </summary>

        //private DataSet standortDataSet;



        public string standortString1 = @"Provider=Microsoft.Jet.OLEDB.4.0;DataSource =C:\Eigene Dateien\Datenbank11.mdb";


        private void btnVerbindung_Click(object sender, EventArgs e)

        {


                //OleDbConnection standortConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource =c:\Eigene Dateien\Datenbank11.mdb");

                OleDbConnection standortConn = new OleDbConnection(standortString1);


                DataSet standortDataSet = new DataSet();


                OleDbCommand standortCommand = new OleDbCommand("SELECT Standort.* FROM Standort", standortConn);

                textBoxenLeeren();


                OleDbDataAdapter standortAdapter = new OleDbDataAdapter("SELECT Standort.* FROM Standort", standortConn);


                try

                {

                  standortConn.Open();

                 standortAdapter.Fill(standortDataSet, "Standort");

                standortConn.Close();


                MessageBox.Show("Verbidnung geklappt");

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

        }

 private void btnStandortVor_Click(object sender, EventArgs e)

          {



          }


          private void textBoxenLeeren()

          {

              tbStandortGeschaefststelle.Clear();

              tbStandortHausnummer.Clear();

              tbStandortOrt.Clear();

              tbStandortPLZ.Clear();

              tbStandortStrasse.Clear();

              tbStandortName.Clear();


          }

}

} 

ich hoffe ihr könnt mir helfen den fehler zu finden. weis ehrlich gesagt nicht mehr weiter.:confused:

gruss hippu

Ein Blick auf diese Seite verrät mir, das du einen Tippfehler im Connectionstring hast.

Access 2007 Connection String Samples - ConnectionStrings.com

Moin,

habe den fehler gefunden. thx für den tipp mit der seite.

die daten werden jetzt eingelesen und angezeigt.

jetzt werd ich mich mal an die anderen funktionen wie hinzufügen, löschen und updaten von ds ran machen^^

falls was sein sollte meld ich mich nochmal.

schönen tag wünsch ich euch allen heute.

gruss hippu:confused:

  • 3 Wochen später...

moinsen alle zusammen,

nochmals danke für die tipps. :uli

ich habe es auch geschafft durch die einzelnen ds zu blättern, zu löschen, updaten.

aber das funktioniert nur auf einer registerkarte. auf den anderen 6 registerkarten funktionieren diese aber nicht, obwohl das vom sourcecode 'fast' identisch ist, jedoch aber immer die verwendeten variablen entsprechend der registerkarte abgeändert sind.

an diesem problem hänge ich schon seit 3 tagen fest und weis nicht mehr weiter.:old

hoffe das ihr mir da weiterhelfen könnt.

gruss hippu:confused:

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.