Witajcie,
przepraszam, że zarzucam kodem ale chciałbym dać jak najwięcej info.
public static string insert_attribute(int zs_id, int atr_id, string atr_wart)
{
string query_string = "INSERT "
+ "INTO dbo.attribs"
+ " VALUES (960, 165633, " + zs_id + ", 0, 0, " + atr_id + ", '" + atr_wart + "', 0, 0, 0, 0, 0, 0)";
return query_string;
}
public static void add_attribute(int zs_id, int atr_id, string atr_wart)
{
using (var connection = ConnectionManager.Inst.CreateNewConnection())
{
connection.Open();
SqlCommand cmd = new SqlCommand(Querries.Querries.insert_attribute(zs_id, atr_id, atr_wart), connection);
int result = cmd.ExecuteNonQuery();
//MessageBox.Show(result.ToString());
connection.Close();
}
}
i używam tak
foreach (DictionaryEntry entry in inserted_atr)
{
Tools.Attribute.add_attribute(xl_zs_header.GIDNumer, Convert.ToInt32(entry.Key), Convert.ToString(entry.Value));
}
problem w tym, że result zwraca 1 ale do bazy nic nie leci. Debuguję: połączenie jest, do dobrej bazy, zapytanie jest dobre ( gdy skopiuję je z debuggera do SSMS insertuje poprawnie), connection jest na userze 'sa'
Czy robię coś nie tak?
aha klasa connectionManager
class ConnectionManager
{
public string connect_string = Settings.Settings.connect_string();
public static ConnectionManager inst;
public System.Data.SqlClient.SqlConnection CreateNewConnection()
{
return new System.Data.SqlClient.SqlConnection(connect_string);
}
public static ConnectionManager Inst
{
get
{
if (inst == null)
inst = new ConnectionManager();
return inst;
}
}
private ConnectionManager()
{
CreateNewConnection();
}
}