SjodahlMedlem sedan maj 20033 218 inlägg Hej!
Precis börjat på ASP.net, och tänkte göra mig en enkelt sida där jag bara lägger lite värden i en databas. Men får inte riktigt helt rätt på hur jag skall göra.
Databasen ligger hos loopia.
Testat lite olika tex en där jag får lägga till denna raden: (men verkar inte finnas default hos loopia)
<%@ Import Namespace="MySql.Data.MySqlClient" %>
Förslag på hur en connection kan se ut plus en insert?
Ex:
<script language="VB" runat="server">
Public Sub Page_Load(Sender As Object, e As EventArgs)
Dim dbcon As String
dbcon = "server=xxx; user id=xxx; password=xxx; database=xxx;"
Dim connection As New MySqlConnection(dbcon)
Dim query As String = "insert into tabell (heading, text) values (@heading, @text)"
Dim command As New MySqlCommand(query, connection)
command.Parameters.Add("@heading", spara.Text)
command.Parameters.Add("@text", "en liten text")
connection.Open()
command.ExecuteNonQuery()
connection.Close()
End Sub
</script>
felmeddelande:
*Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: BC30466: Namespace or type 'MySqlClient' for the Imports 'MySql.Data.MySqlClient' cannot be found.*
Förstår jag inte kan använda "MySqlClient" men vet inte riktigt hur min connection skall se ut ;)
PMedlem sedan jan. 20012 204 inlägg Filen Mysql.Data.dll eller vad det kan heta måste väl finns, sen vet jag inte om sql-satsen är korrekt. Även fast det inte är den den klagar på. Jag brukar skiva:
sqlquery = "instert into tablel(heading,text) values (?,?)"
Parametrarna som ovan. Har du 2.0:an så finns ju System.Data.Odbc som du kan använda annars.
SjodahlMedlem sedan maj 20033 218 inlägg Nej verkar inte som den finns, men det går väl att göra anslutningar på andra sätt?
Eller är jag helt ute och reser?
Själv hur jag skriver insert är jag väl med på mer igentligen hur man kör själva frågan
SjodahlMedlem sedan maj 20033 218 inlägg loopia hade ett klart exempel.
<%@ Page Language="C#" Debug="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Odbc" %>
<script runat="server">
// Anslutning från ASP.NET med CS till MySQL.
// Standardprocedur
public void Page_Load(object Sender, EventArgs E)
{
OdbcConnection oConn = new OdbcConnection();
string strConn = "";
string strResult = "Anslutningen lyckades.";
// Anslut till databasen.
// Connectionsträng.
strConn = "DRIVER={MySQL ODBC 3.51 Driver};" +
"SERVER=mysql.ditt_domännamn;" +
"PORT=3306;" +
"DATABASE=din_databas;" +
"UID=din_användare;" +
"PWD=ditt_lösenord;" +
"OPTION=3";
// Anslut till databasen.
try
{
oConn.ConnectionString = strConn;
oConn.Open();
}
catch(OdbcException eDBOpen)
{
// Ett fel inträffade.
strResult = GetDBError(eDBOpen);
}
oConn.Close();
LabelResult.Text = strResult;
}
// Display error strings from exception object and exit.
public string GetDBError(OdbcException e)
{
int i = 0;
string strResult = "";
strResult += "Anslutningen misslyckades.<br/>\n";
strResult += "Felmeddelande från ODBC:<br/>\n<br/>\n";
strResult += "<table border=\"1\">\n";
strResult += "<tr>\n";
strResult += " <td><strong>#</strong></td>\n";
strResult += " <td><strong>Meddelande</strong></td>\n";
strResult += " <td><strong>Native</strong></td>\n";
strResult += " <td><strong>Källa</strong></td>\n";
strResult += " <td><strong>SQL</strong></td>\n";
strResult += "</tr>\n";
for (i = 0; i < e.Errors.Count; i++)
{
strResult += "<tr>\n";
strResult += " <td>" + i.ToString() + "</td>\n";
strResult += " <td>" + e.Errors[i].Message + "</td>\n";
strResult += " <td>" + e.Errors[i].NativeError.ToString() + "</td>\n";
strResult += " <td>" + e.Errors[i].Source + "</td>\n";
strResult += " <td>" + e.Errors[i].SQLState + "</td>\n";
strResult += "</tr>\n";
}
strResult += "</table>\n";
return strResult;
}
</script>
<html>
<head>
<title>
Anslutning från ASP.NET till MySQL
</title>
</head>
<body>
<form runat="server">
<asp:Label id="LabelResult" Text="" runat="server"/>
</form>
</body>
</html>