S saw Medlem sedan mars 2001 1 880 inlägg Frågan 7 jan. 2007 18:46 #1 Jag försöker att få ihop en liten smidig class men det skiter sig.
Min class
public static decimal OleDbCount(string sql, OleDbConnection DBConn)
{
decimal sText = 0;
try
{
OleDbCommand OleDbCmd = new OleDbCommand();
OleDbCmd.CommandText = sql;
OleDbCmd.Connection = DBConn;
DBConn.Open();
sText = (int)OleDbCmd.ExecuteScalar();
return sText;
}
catch { }
finally { DBConn.Close(); }
return sText;
}
}
//detta fungerar jag skickar alltså in en sql här
public decimal CountSQL(string sql)
{//string strSQL = "select count(*) from Produkter ";
decimal sText = 0;
try
{
sText = (decimal)WebbUtill.OleDbCount(sql, DBConn);
return sText;
}
catch{ }
return sText;
}
//detta fungerar inte jag kommer till en sida som inte visar någonting
public decimal HowMuchWillItCost(string productName, int howMany)
{
try
{
if (howMany > 0)
{ string sql = "Select Enhetspris FROM Produkter WHERE
Produktnamn = '" + productName + "'";
decimal price = (decimal)WebbUtill.OleDbCount(sql, DBConn);
return price * howMany;
}
else
{
throw new Exception("\n" + " howMany cant bee negative.");
}
}
catch (Exception e)
{
throw new Exception("Error calculating cost: " + e.Message);
}
decimal varde = 0;
return varde;
}
Någon som kan se felet???
E emission Medlem sedan dec. 1999 6 721 inlägg Du skriver att det är en webservice, men jag kan inte att något är definierat som WebMethod..
Var kommer databaskopplingen ifrån?
Att du skapar en sql-sats med konkatenering, och inte med parametrar, föranleder en vänlig men mycket bestämd rundspark.
S saw Medlem sedan mars 2001 1 880 inlägg emission
Jag tog inte med [WebMethod(CacheDuration = 0,
Description="Hur mycket kostar varorna?")]
eller databaskopplingen, kanske fel men det fungerar.
Att jag har en sql-sats är bara tillfäligt det skall bli agrument.
Det jag undrar över är varför den ena classen fungerar men inte den andra.
S saw Medlem sedan mars 2001 1 880 inlägg Jag har hittat felet
sText = (decimal)OleDbCmd.ExecuteScalar();
Jag hadde råkat skriva int där tidigare.
Jag har också ändrat ifrån sql till parameter.
Tack för hjälp.