B Bjuris Medlem sedan juli 2001 514 inlägg Frågan 21 okt. 2004 17:27 #1 Jag har problem med en insert
min klass ser ut så här:
public int InsertData(string strSQL, string strName)
{
OleDbConnection conn = null;
try
{
conn = new OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+HttpContext.Current.Server.MapPath("db/test.mdb"));
conn.Open();
string SqlCmd = "INSERT INTO Kalender(strName, strDate, strTime, strMessage) VALUES(a, b , c , d)";
OleDbCommand cmd = new OleDbCommand(SqlCmd, conn);
}
catch (Exception e)
{
string Error = ("Error with database: "+ e.ToString());
}
finally
{
if (conn != null) conn.Close();
}
return 1;
}
och jag kallar på den i aspx.cs koden:
db myDb = new db();
myDb.InsertData(strSQL, dsName );
och detta sker i klassen som har han om eventet när man klickar på den, men inget händer när jag klickar på knappen.
Vad gör jag för fel?
D Dino Medlem sedan sep. 2001 1 914 inlägg Re: Insert problem, C# code-behind
public int InsertData(string strSQL, string strName)
{
string SqlCmd = "INSERT INTO Kalender(strName, strDate, strTime, strMessage) VALUES(a, b , c , d)";
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath("db/test.mdb"));
OleDbCommand cmd = new OleDbCommand(SqlCmd, conn);
try
{
conn.Open();
[b]cmd.ExecuteNonQuery();[/b]
}
catch (Exception e)
{
string Error = ("Error with database: "+ e.ToString());
}
finally
{
if (conn != null) conn.Close();
}
return 1;
}
B Bjuris Medlem sedan juli 2001 514 inlägg Fungerar fortfarande inte...
När jag klickar på knappen så händer det inget.
private void AddToCalendar_Click(object sender, System.EventArgs e)
{
db myDb = new db();
myDb.InsertData(strSQL, dsName );
}
PDahlen Medlem sedan apr. 2004 778 inlägg Har du en handler på knappen som ska aktivera AddToCalendar_Click funktionen då?
Lägg in en Response.Write("Test") i den funktionen och se om den överhuvudtaget aktiveras.
B Bjuris Medlem sedan juli 2001 514 inlägg Lägger jag till en response.write så skrivs den ut när jag klickar på knappen, men det händer fortfarande inget i databasen.
PDahlen Medlem sedan apr. 2004 778 inlägg Men var har du värdena a, b, c och d?
E erka Medlem sedan dec. 1999 6 522 inlägg Kastas det inte ett exception då?
B Bjuris Medlem sedan juli 2001 514 inlägg Värderna a, b, c, d skall egentligen stå med fnuttar runt då det egentligen bara är teststrängar 'a' osv, i databasen är fälten definierade som text.
jag får inget exception...
PDahlen Medlem sedan apr. 2004 778 inlägg Saknas fnuttarna bara här eller saknas dom i din kod också?
Om du inte får nån exception så undrar jag om dbanropet körs alls.
Eftersom den skriver att du är inne i klick-funktionen så vet vi att
db myDb = new db();
myDb.InsertData(strSQL, dsName );
körs.
Så då är frågan om dbfrågan exekveras eller om du gör nån redirect så exception inte visas.
PDahlen Medlem sedan apr. 2004 778 inlägg Ta bort hela Try Catch blocket och prova.