INSERT nie leci do bazy - executeNonQuery

0

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(); 
        } 
   }
 
0

Może masz wyłączony autocommit na bazie? Rekord się insertuje, kończy się sesja i następuje rollback.

0

Pokaż ConnectStringa... Nie masz czasem AttachDb... ??

0

connect string buduję tak

        public static string connect_string()
        {
            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();

            builder.DataSource = "<adres_ip_serwera";
            builder.InitialCatalog = "<nazwa_bazy_danych>";
            builder.UserID = "user_mam_tutaj_sa";
            builder.Password = "haslo";
            builder.IntegratedSecurity = false;
            builder.ConnectTimeout = 100;

            return builder.ConnectionString;
        }
0

Pierwsze co rzuciło mi się w oczy to :

Kajkoo napisał(a):

connect string buduję tak

       
            builder.DataSource = "<adres_ip_serwera"; // a tu nie powinien być zamykający znak ">" ?
          
        }
1

Nie za mały ten timeout?

1 użytkowników online, w tym zalogowanych: 0, gości: 1