2009-09-01 21 views

Odpowiedz

34
INSERT INTO dbo.TableWithOnlyIdentity DEFAULT VALUES 

Działa to dobrze w moim przypadku. Jak próbujesz wprowadzić te wiersze do bazy danych? SQL Server Mgmt Studio? Zapytanie SQL z aplikacji .NET?

Running wewnątrz Visual Studio w oknie "Nowe zapytanie", otrzymuję:

domyślnych wartości SQL konstrukt lub oświadczenie nie jest obsługiwany.

==> OK, więc Visual Studio nie może sobie z tym poradzić - to nie wina SQL Server, ale Visual Studio. Zamiast tego użyj prawdziwego SQL Management Studio - działa tam dobrze!

Korzystanie ADO.NET również działa jak czar:

using(SqlConnection _con = new SqlConnection("server=(local); 
          database=test;integrated security=SSPI;")) 
{ 
    using(SqlCommand _cmd = new SqlCommand 
      ("INSERT INTO dbo.TableWithOnlyIdentity DEFAULT VALUES", _con)) 
    { 
     _con.Open(); 
     _cmd.ExecuteNonQuery(); 
     _con.Close(); 
    } 
} 

wydaje się być ograniczenie VS - nie używać do poważnej pracy VS DB :-) Marca

+0

Próba uruchomienia go z projektanta wizualnego studia (zapytanie). otrzymasz komunikat o błędzie. Nie pamiętam dokładnie tego tekstu. –

+1

Dzięki, działa to jak urok w aplikacji. Nie mogę ufać VS, aby zrobić wszystko ... Oczywiście. –

-3

Zamiast próbować polegać na jakiejś składni o „wartości domyślne” jako słowa kluczowego, niech pomocą silnikowego ci, że ... jak o wyraźnie próbuje ustawić jedną z wartości, takich jak

insert into YourTable (PickOneField) values ("whatever") 

Tak więc, mimo że jesteś tylko preping ONE pole, nowy rekord rodzimego silnika POWINIEN wypełnić zaległości z ich odpowiednimi wartościami domyślnymi.

+0

Tabela ma tylko 1 kolumnę i jest to tożsamość. – Misko

Powiązane problemy