בעיה עם TypedDataDetו-Seeds ב-SQL
יש לי פרוייקט מבוסס TypedDataSet. מסד הנתונים הוא SQL Server. התחלתי עם גירסת 2000, עברתי ל-2005 - השאלה נכונה לגבי שתי הגרסאות של מסד הנתונים. הבעיה שלי היא כזו: יש לי מספר טבלאות שהגדרתי את המפתח שלהן כ-Identity. ייבאתי אותן ל-DataSet והן זוהו כ-ReadOnly. הבעיה היא שכל ניסיון להכניס נתונים לטבלאות אלו דרך ה-DataSet (כמובן באמצעות DataBinding ו-TableAdapter) נתקלת בשגיאה - צעקה: כי עמודת המפתח does not allow nulls. בדקתי ב-DataSet ומשפט ה-Insert שנוצר הוא:
יש לי פרוייקט מבוסס TypedDataSet. מסד הנתונים הוא SQL Server. התחלתי עם גירסת 2000, עברתי ל-2005 - השאלה נכונה לגבי שתי הגרסאות של מסד הנתונים. הבעיה שלי היא כזו: יש לי מספר טבלאות שהגדרתי את המפתח שלהן כ-Identity. ייבאתי אותן ל-DataSet והן זוהו כ-ReadOnly. הבעיה היא שכל ניסיון להכניס נתונים לטבלאות אלו דרך ה-DataSet (כמובן באמצעות DataBinding ו-TableAdapter) נתקלת בשגיאה - צעקה: כי עמודת המפתח does not allow nulls. בדקתי ב-DataSet ומשפט ה-Insert שנוצר הוא:
Me._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[tlkupCities] ([CityName]) VALUES (@CityName);"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT CityID, "& _ "CityName FROM tlkupCities WHERE (CityID = SCOPE_IDENTITY())" Me._adapter.InsertCommand.CommandType = System.Data.CommandType.Text Me._adapter.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CityName", System.Data.SqlDbType.VarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "CityName", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
כלומר - המשפט אינו דורש את העמודה CityID שהיא עמודת המפתח. איפה, אם כן נוצרת הבעיה שלי? חשוב לציין כי הבעיה חזרה על עצמה בכל הטבלאות שמוגדרות בצורה הנ"ל.