Jag har lite problem med databassnacket i ett program jag håller på med nu. Att hämta ut data från databasen fungerar klockrent, men när jag ska skriva till databasen så beter sig allt lite skumt. När jag ska lägga in något i databasen klagar den inte på någonting, men det kommer inte in något nytt i databasen. Jag har dubbelkollat flera gånger så att jag verkligen är i rätt databas och tabell överallt, men det är jag säker på. Har även testat att köra samma mina SQL-kommandon direkt i SQL Server, och det funkar kalasbra. Vet inte riktigt hur jag ska gå vidare med min felsökning nu. Jag får inte ut några Exceptions, och jag har testat att returnera värdet från ExecuteNonQuery i en int, och har då fått ut värdet 1 när jag försökt att lägga till något i databasen, men ändå finns inget där. Jag bifogar koden nedan. Låter ytterst märkligt... Testa att dra igång Profilern och kör din kod. När jag kör Profilern så kommer SQL-kommandot in, men det skrivs inte något till databasen. Blir det någon skillnad om du specar kolumnerna i SQL-frågan? Det gör ingen skillnad alls. Blir helt tokig på detta problemet. det är inte så att du måste "kommitta" nån transaktion då för att det ska ta? Nej jag kör med COM+ inbyggda transaktion, med AutoCompleteAttribute-attributet för metoden.Konstigt "fel" vid skrivning till databas...
public class DatabaseService
{
private const string connectionString = "Server=localhost;Database=database;Uid=user;Pwd=pass;";
private SqlConnection dbConnection = new SqlConnection();
private SqlCommand dbCommand = new SqlCommand();
public DatabaseEnterpriseService()
{
DbConnection.ConnectionString = connectionString;
DbCommand.Connection = DbConnection;
}
public Boolean setData(string sqlString)
{
Boolean returnValue;
try
{
DbConnection.Open();
DbCommand.CommandText = sqlString;
DbCommand.ExecuteNonQuery();
returnValue = true;
}
catch (Exception e)
{
returnValue = false;
}
finally
{
if (DbConnection != null)
{
DbConnection.Close();
}
}
return returnValue;
}
}
Mycket tacksam för förslag på hur jag ska gå vidare!
Sv: Konstigt "fel" vid skrivning till databas...
Sv:Konstigt "fel" vid skrivning till databas...
SQL-kommandot:
INSERT INTO Tabell VALUES('sträng', 'sträng', 'sträng', 'sträng', 'sträng');
Kanske borde nämna att jag kör denna klassen som en COM+ komponent. Uteslöt den koden i mitt exempel i första inlägget. Men detta borde väl fungera ändå?
Är helt förvirrad nu asså! hehe.Sv: Konstigt "fel" vid skrivning till databas...
INSERT INTO Tabell (Col1, Col2, Col3, Col4, Col5) VALUES('sträng', 'sträng', 'sträng', 'sträng', 'sträng')
/JohanSv:Konstigt "fel" vid skrivning till databas...
Något som jag tycker är lite konstigt, är att jag hade en metod tidigare i klassen som i princip ser likadan ut, med skillnaden att den tog in en string-array och exekverade dessa sql-strängarna i en loop. Det fungerade alldeles utmärkt.Sv: Konstigt "fel" vid skrivning till databas...
Sv:Konstigt "fel" vid skrivning till databas...
Vet inte riktigt vad jag har gjort, men nu fungerar det iallafall. Vet inte om min SQL Server var mysko eller nåt. Tackar för era tips iallafall!