|
|
|
Ошибка при записи в таблицу: нарушение параллелизма
|
|||
|---|---|---|---|
|
#18+
Написала программу по созданию новой таблицы и последующей записи в нее данных. При записи в таблицу данных появляется ошибка: Нарушение параллелизма: UpdateCommand затронула 0 из ожидаемых 1 записей. Код такой: SqlCommand selectCommand = cn.CreateCommand(); selectCommand.CommandText = "SELECT Dict_Field_Investigation.Id_Field, List_Field_Type.Name_Sql_Field_Type FROM Dict_Field_Investigation INNER JOIN List_Field_Type ON Dict_Field_Investigation.Id_Field_Type = List_Field_Type.Id_Field_Type WHERE (List_Field_Type.Id_Field_Type <> 6)"; DataTable tb = new DataTable("роророл"); SqlDataAdapter da = new SqlDataAdapter(selectCommand); da.Fill(tb); string str = "CREATE TABLE [dbo].[SomeSet] ([Id_Patient] [int] NOT NULL, [Date_Investigation] [date] NOT NULL, "; foreach (DataRow row in tb.Rows) { str += "[" + row["Id_Field"].ToString() + "] " + row["Name_Sql_Field_Type"].ToString() + " NULL, "; } str += "CONSTRAINT [PK_SomeSet] PRIMARY KEY CLUSTERED ([Id_Patient] ASC, [Date_Investigation] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]"; //MessageBox.Show(str); SqlCommand createCommand = cn.CreateCommand(); createCommand.CommandText = str; cn.Open(); //получаю схему созданной таблицы SqlCommand schemeCommand = cn.CreateCommand(); schemeCommand.CommandText = "Select * FROM SomeSet"; SqlDataAdapter daSomeSet = new SqlDataAdapter(schemeCommand); daSomeSet.MissingSchemaAction = MissingSchemaAction.AddWithKey; SqlCommandBuilder bld = new SqlCommandBuilder(daSomeSet); bld.ConflictOption = ConflictOption.OverwriteChanges; DataTable tbSomeSet = new DataTable("tbSomeSet"); daSomeSet.Fill(tbSomeSet); //загружаем данные из таблицы selectCommand.CommandText = "SELECT Id_Patient, Date_Investigation, Id_Field, Value FROM Fact_Investigation"; SqlDataAdapter da3 = new SqlDataAdapter(selectCommand); DataTable tbFact = new DataTable(); da3.Fill(tbFact); SqlCommand selectCommand2 = cn.CreateCommand(); selectCommand2.CommandText = "SELECT Id_Patient, Date_Investigation FROM Fact_Investigation GROUP BY Id_Patient, Date_Investigation"; SqlDataAdapter da4 = new SqlDataAdapter(selectCommand2); da4.Fill(tbSomeSet); foreach (DataRow rowFact in tbFact.Rows) { DataRow rowSomeSet = tbSomeSet.Rows.Find(new object[] { rowFact["Id_Patient"], rowFact["Date_Investigation"] }); rowSomeSet[rowFact["Id_Field"].ToString()] = rowFact["Value"]; } daSomeSet.Update(tbSomeSet); Здесь появляется эта ошибка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2012, 23:20 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37790209&tid=1342272]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 401ms |

| 0 / 0 |
