webForumDet fria alternativet

Insert problem, C# code-behind

9 svar · 435 visningar · startad av Bjuris

BjurisMedlem sedan juli 2001514 inlägg
#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?

DinoMedlem sedan sep. 20011 914 inlägg
#2

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;
}
BjurisMedlem sedan juli 2001514 inlägg
#3

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 );
			
}
PDahlenMedlem sedan apr. 2004778 inlägg
#4

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.

BjurisMedlem sedan juli 2001514 inlägg
#5

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.

PDahlenMedlem sedan apr. 2004778 inlägg
#6

Men var har du värdena a, b, c och d?

erkaMedlem sedan dec. 19996 522 inlägg
#7

Kastas det inte ett exception då?

BjurisMedlem sedan juli 2001514 inlägg
#8

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...

PDahlenMedlem sedan apr. 2004778 inlägg
#9

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.

PDahlenMedlem sedan apr. 2004778 inlägg
#10

Ta bort hela Try Catch blocket och prova.

128 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)