2009-06-30 8 views
1

J'utilise VS 2008.ASP .NET - Configurer SQLDataSource utiliser MySQL .NET Connector

En regardant autour sur les forums/pile n'a pas fourni une réponse claire sur la façon d'utiliser MySQL avec un site ASP .NET .

Comment configurer SQLDataSource pour utiliser MySQL en utilisant le fournisseur MySQL Connector NET?

Je préférerais ne pas utiliser le pilote ODBC - que je peux utiliser. Le connecteur a été ajouté en tant que référence au projet et apparaît dans le web.config comme:

<add assembly="MySql.Data, Version=5.2.2.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/> 

Et j'ai aussi essayé de créer manuellement une section sous:

<add name="MYSQL" connectionString="Server=localhost;Database=data;Uid=root;Pwd=1234;" providerName="MySql.Data" /> 

La version MySQL Connector J'est 5.2.2.0

Répondre

2

MySQl and ASP.NET tutorial

peut-être cela vous aidera?

+0

Merci pour le lien. –

+0

Ce lien n'aide pas avec ASP.NET, ne parlant que de l'installation de MySQL. –

+0

@Nick il est 5 ans mais .. partie 2 du tutoriel fait, en regardant la page maintenant, vous pouvez soit utiliser le lien du nom des auteurs ou voir l'URL de la partie 2 dans les commentaires – Pharabus

0

La version C# de créer une connexion de MySQL de base est:

<%@ Page Language="C#" debug="true" %> 
<%@ Import Namespace = "System.Data" %> 
<%@ Import Namespace = "MySql.Data.MySqlClient" %> 
<script language="C#" runat="server"> 

private void Page_Load(Object sender ,EventArgs e) 
{ 
    MySqlConnection myConnection = new MySqlConnection(); 
    MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(); 
    DataSet myDataSet = new DataSet(); 
    string strSQL; 
    int iRecordCount; 

    myConnection = new MySqlConnection("server=localhost; user id=root; password=ii33uuqwerty; database=wlc_data; pooling=false;"); 

    strSQL = "SELECT * FROM troutetracking LIMIT 100;"; 

    myDataAdapter = new MySqlDataAdapter(strSQL, myConnection); 
    myDataSet = new DataSet(); 
    myDataAdapter.Fill(myDataSet, "mytable"); 

    MySQLDataGrid.DataSource = myDataSet; 
    MySQLDataGrid.DataBind(); 

} 

simple base de données MySQL Query

2

dans le fichier web.conf, vous ajoutez des lignes suivantes: <connectionStrings> <add name="connMysql" connectionString ="Server=localhost;Database=transcode;Uid=root;" providerName="MySql.Data.MySqlClient"/> </connectionStrings>

dans le fichier .aspx vous pouvez ajouter des lignes suivantes:

<asp:SqlDataSource ID="Datacmd" runat="server" ConnectionString="<%$ConnectionStrings:connMysql %>" ProviderName="<%$ ConnectionStrings:connMysql.providerName%>" SelectCommand="SELECT command.id,server.ip,command.name,command.cmd,command.input_ip,command.output_ip,command.pid,command.status FROM server,command WHERE command.server_id=server.id " </asp:SqlDataSource> <asp:GridView ID="GridView1" runat="server" DataSourceID="Datacmd" AutoGenerateColumns="False" ForeColor="#003300"> <Columns> ............................. </Columns> </asp:GridView>

+0

Après avoir défini le ProviderName à "MySql.Data.MySqlClient" cela a fonctionné. Merci! – Reinaldo

1

La seule façon que je pouvais obtenir le temps de conception la liaison au travail consistait à utiliser le pilote ODBC. le pilote .Net ne fonctionnerait tout simplement pas. Vous devez installer le pilote MySQL ODBC, redémarrer Visual Studio, puis ajouter une chaîne de connexion à web.config.

dans web.config:

<connectionStrings> 
<add name="ConnectionStringODBC" connectionString="Driver={MySQL ODBC 5.3 ANSI Driver};server=localhost;database=myproviewer;uid=myproviewer;password=mypassword" providerName="System.Data.Odbc" /> 
</connectionStrings> 

En ASPX:

<dx:ASPxGridView ID="gridTagGroups" runat="server" DataMember="DefaultView" Theme="Office2010Blue" Width="95%" Font-Size="8pt" AutoGenerateColumns="False" DataSourceID="SqlDataSourceTagGroup"> 
    <Settings ShowHeaderFilterButton="true" ShowFilterRow="true" ShowFilterRowMenu="true" ShowGroupPanel="true" /> 
    <SettingsPager PageSize="20" Position="TopAndBottom" AlwaysShowPager="True"> 
     <PageSizeItemSettings Caption="Items Per Page:" Items="10, 15, 20, 25, 50" Visible="True" Position="Right"> 
     </PageSizeItemSettings> 
    </SettingsPager> 
    <SettingsDataSecurity AllowDelete="False" AllowEdit="False" AllowInsert="False" /> 
    <Columns> 
     <dx:GridViewDataTextColumn FieldName="TagCatId" VisibleIndex="0"> 
      <EditFormSettings Visible="False" /> 
     </dx:GridViewDataTextColumn> 
     <dx:GridViewDataTextColumn FieldName="TagCatName" VisibleIndex="1"> 
     </dx:GridViewDataTextColumn> 
     <dx:GridViewDataTextColumn FieldName="OrderIndex" VisibleIndex="2"> 
     </dx:GridViewDataTextColumn> 
     <dx:GridViewDataTextColumn FieldName="HiddenFromSearch" VisibleIndex="3"> 
     </dx:GridViewDataTextColumn> 
     <dx:GridViewDataTextColumn FieldName="MediaType" VisibleIndex="4"> 
     </dx:GridViewDataTextColumn> 
    </Columns> 
    <SettingsBehavior AllowFocusedRow="True" AllowSelectSingleRowOnly="True" /> 
</dx:ASPxGridView> 
<asp:SqlDataSource ID="SqlDataSourceTagGroup" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionStringODBC %>" ProviderName="<%$ ConnectionStrings:ConnectionStringODBC.ProviderName %>" 
    SelectCommand="SELECT * FROM tagcat ORDER BY OrderIndex" 
    DeleteCommand="DELETE FROM tagcat WHERE TagCatId = ?" 
    InsertCommand="INSERT INTO tagcat (TagCatId, TagCatName, OrderIndex, HiddenFromSearch, MediaType) VALUES (?, ?, ?, ?, ?)" 
    UpdateCommand="UPDATE tagcat SET TagCatName = ?, OrderIndex = ?, HiddenFromSearch = ?, MediaType = ? WHERE TagCatId = ?"> 
    <DeleteParameters> 
     <asp:Parameter Name="TagCatId" Type="Int32" /> 
    </DeleteParameters> 
    <InsertParameters> 
     <asp:Parameter Name="TagCatId" Type="Int32" /> 
     <asp:Parameter Name="TagCatName" Type="String" /> 
     <asp:Parameter Name="OrderIndex" Type="Int32" /> 
     <asp:Parameter Name="HiddenFromSearch" Type="Object" /> 
     <asp:Parameter Name="MediaType" Type="String" /> 
    </InsertParameters> 
    <UpdateParameters> 
     <asp:Parameter Name="TagCatName" Type="String" /> 
     <asp:Parameter Name="OrderIndex" Type="Int32" /> 
     <asp:Parameter Name="HiddenFromSearch" Type="Object" /> 
     <asp:Parameter Name="MediaType" Type="String" /> 
     <asp:Parameter Name="TagCatId" Type="Int32" /> 
    </UpdateParameters> 
</asp:SqlDataSource>