MySQL

Status
Niet open voor verdere reacties.

rubie

Gebruiker
Lid geworden
29 jul 2007
Berichten
16
Hoi,

Weet er iemand hoe ik vanuit een ASP C# pagina data kan ophalen uit een MySQL database?
Ik heb al diverse tuturials geprobeerd maar niets werkt.

Groeten,
 
ik neem aan dat je via MySql Administrator de database wel kan benaderen
en dat je met de user die je in APS.NET gaat gebruiken, kan inloggen op de database.

om in Dot.Net met MySql te kunnen praten, heb je een driver nodig:

http://dev.mysql.com/downloads/#connector-net

installeer deze driver om via ASP.NET met MySql te kunnen werken.

na de driver te hebben geinstalleerd, start je Visual Studio op, en maak je een nieuwe webapplicatie.

daarna ga je een connectie maken met MySql in de database explorer:

in de database explorer, kies :
Add Connection
bij DataSource, kies "change..."
kies Datasource "MySql database"

nu krijg je een window te zien waarin je de database instellingen op moet geven:
Servername, vul hier het ip adres: 127.0.0.1
username : gebruikersnaam van de MySql database catalog
password : wachtwoord van die gebruiker
database name : catalog naam van de MySql database

vink "Save my password" aan.
klik op "Test Connection"
klik Ok


in de databse explorer zie je nu jou MySql database.
je kan hem uitklappen, en dan kan je al je gemaakte tabellen zien.
( ik neem aan dat je al een database met tabellen hebt...)


sleep een gridview op de default.aspx pagina.
klik op de "smart tag"( rechts boven aan gridview) van de Gridview,
Choose datasource -> new Datasource.
kies "Database"
klik ok
kies uit de dropdown de connectie die je eerder in de database explorer van visual studio hebt gemaakt.
kies next
kies "Specify a custom SQL statement" , en vul een query in bv.: SELECT address.* FROM address

kies NIET de andere optie, want dan wordt de tabelnaam in de query
als volgt neergezet : SELECT address.* FROM [address] en de blokhaken geven een foutmelding in MySql.


( een andere foutmeling komt als de user geen select rechten op de "proc" tabel in catalog MySql heeft.
voeg de selectrechten toe aan de user via de MySql Administrator toe.)


na finish, en save all van de pagina's, ziet de broncode van de aspx pagina er al volgt uit :

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True" SortExpression="id" />
<asp:BoundField DataField="street" HeaderText="street" SortExpression="street" />
<asp:BoundField DataField="number" HeaderText="number" SortExpression="number" />
<asp:BoundField DataField="postalcode" HeaderText="postalcode" SortExpression="postalcode" />
<asp:BoundField DataField="country" HeaderText="country" SortExpression="country" />
<asp:BoundField DataField="city" HeaderText="city" SortExpression="city" />
<asp:BoundField DataField="customer_id" HeaderText="customer_id" SortExpression="customer_id" />
<asp:BoundField DataField="description" HeaderText="description" SortExpression="description" />
<asp:BoundField DataField="isdefaultbilling" HeaderText="isdefaultbilling" SortExpression="isdefaultbilling" />
<asp:BoundField DataField="isdefaultdelivery" HeaderText="isdefaultdelivery" SortExpression="isdefaultdelivery" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:webshop1ConnectionString %>" ProviderName="<%$ ConnectionStrings:webshop1ConnectionString.ProviderName %>" SelectCommand="select * from address">
</asp:SqlDataSource>


na het starten van de web applicatie zie je dat de gridview gevuld is met data.
 
ik heb gedaan wat je zij... maar als ik dat heb gedaan en ik maak een nieuwe website dan open ik die sql connection maar waarneer ik ook maar een letter in het balkje neer zet is het beeldje weg?!
 
ik heb het volgende:

Code:
Dim strConnection, conn, rs, strSQL

strConnection = "Driver=SQL Server;Server=je_host;" & _
"Database=database-name;Uid=username;Pwd=password;"

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strConnection

Set rs = Server.CreateObject("ADODB.recordset")
strSQL = "SELECT * FROM tabel_name "
rs.open strSQL, conn, 3,3

iets=request.form("iets")

dan wil je natuurlijk iets selecteren en niet alles zien?
zet dan de naam van je form dus hier beneden is dat iets



Code:
<form method="post">
Laat dit zien <input type="text" name="iets">
<input type="submit" value="Laat iets zien.">
</form>

je form is nu klaar
maar nu moet het nog ergens worden neergezet:

Code:
<%
if iets<>"" then
   sql="SELECT colum_name FROM tabel_name WHERE colum_name LIKE ' & iets &'
   set rs=Server.CreateObject("ADODB.Recordset")
   rs.Open sql,conn
%>
   <table width="100%" cellspacing="0" cellpadding="2" border="1">
   <tr>
     <th>Tabel Naam</th>
    
     
   </tr>
<%
do until rs.EOF
   response.write("<tr>")
   response.write("<td>" & rs.fields("colum_name") & "</td>")
   response.write("</tr>")
   rs.MoveNext
loop
%>
</table>
<%  end if %>
even korte uitleg van alles:
het allesbovenste zorgt voor de connectie naar je DB
daarna je zoek form
en dan de verwerking die begint met je query
dan je tabel waar die het in laat zien.
en voor elke record is er een loop
en dan het einde van al.

hoop dat je t snapt anders hoor ik t wel!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan