Agn> wie kann ich per ASP.net auf eine MYSQL-DB zugreifen?

Hi,
0. Wenn nicht vorhanden ODBC.NET Data Provider installieren. (gibt es
   bei Microsoft MSDN zum download)
   
1. Web.config editieren und ODBC-assembly
   mit den Eigenschaften von Microsoft.Data.Odbc (in C:\WINNT\assembly)
   eintragen. z.B.

   <compilation>...
   <assemblies>
      <add assembly="Microsoft.Data.Odbc, Version=1.0.3300.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089"/>
   </assemblies>
   </compilation>

   
2. Referenz auf Microsoft.Data.Odbc.dll hinzufügen
   (z.B. C:\Program Files\Microsoft.Net\Odbc.net)

3. using Microsoft.Data.Odbc;
   in den Header deines Quelltextes.

4. der Code:
   string strConn = "Driver={MySQL ODBC 3.51 Driver};"
                   + "Server=localhost;"
                   + "Database=deinedb;"
                   + "UID=deineuid;"
                   + "PWD=deinpwd";

   string strSQL ="SELECT * FROM irgendwas";
  
   OdbcConnection odbcConnection = new OdbcConnection(strConn);
   OdbcCommand odbcCommand = new OdbcCommand(strSQL, odbcConnection);

   odbcConnection.Open();
                        
   OdbcDataReader dr = odbcCommand.ExecuteReader();
   while (dr.Read())
   {
      this.txtOutput.Text += dr["spalte"].ToString() + "<br>\r\n";
   }
                        
   dr.Close();
   odbcConnection.Close();


5. Alternative mit Datagrid
   (weiss nicht ob es einfacher geht, hat irgendjemand eine bessere
   Idee?). Hier wird zuerst ein neues DataTable erzeugt und mit den
   Daten aus der MySQL-DB gefüttert. Dieses DataTable dient dem Grid
   anschließend als DataSource.

System.Data.DataTable myDataTable = new DataTable("t_albums");
DataColumn myDataColumn;
DataRow myDataRow;

myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.Int32");
myDataColumn.ColumnName = "album_id";
myDataColumn.ReadOnly = false;
myDataColumn.Unique = true;
myDataTable.Columns.Add(myDataColumn);

myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "album_title";
myDataColumn.AutoIncrement = false;
myDataColumn.Caption = "AlbumTitle";
myDataColumn.ReadOnly = false;
myDataColumn.Unique = false;
myDataTable.Columns.Add(myDataColumn);

DataColumn[] PrimaryKeyColumns = new DataColumn[1];
PrimaryKeyColumns[0] = myDataTable.Columns["album_id"];
myDataTable.PrimaryKey = PrimaryKeyColumns;
 
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
 
odbcConnection = new OdbcConnection(strConn);
odbcCommand = new OdbcCommand(strSQL, odbcConnection);
odbcConnection.Open();
                
dr = odbcCommand.ExecuteReader();
while (dr.Read())
{
  myDataRow = myDataTable.NewRow();
  myDataRow["album_id"] = dr["album_id"];
  myDataRow["album_title"] = dr["album_title"];
  myDataTable.Rows.Add(myDataRow);
}
                        
dr.Close();
odbcConnection.Close();

this.DataGrid1.DataSource = myDataSet.Tables["t_albums"].DefaultView;
this.DataGrid1.DataBind();

Viele Grüße,
Gerrit

_______________________________________________
Asp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an