lira meh Ответов: 3

Вставка данных в 3 таблицы


привет

я хочу вставить данные в файл acces вместе с запросом
string query = "INSERT INTO [USER] (Use_Sgi, Use_FirstName, Use_LastName, Use_Email, Use_MobilePhone, Use_BusinessPhone, Com_ID, Loc_ID ) values (@sgi,@nom,@prenom,@email,@telephonefix,@telphonemobile,@company,@localiter); select @@identity()";
                        OleDbCommand cmd = new OleDbCommand(query, con);
                        cmd.Parameters.AddWithValue("@sgi", txtsgi.Text);
                        cmd.Parameters.AddWithValue("@nom", txtnom.Text);
                        cmd.Parameters.AddWithValue("@prenom", txtprenom);
                        cmd.Parameters.AddWithValue("@email", txtemail);
                        cmd.Parameters.AddWithValue("@telphonefix", txttelphonefix);
                        cmd.Parameters.AddWithValue("@telphonemobile", txttelephonemobile);
                        cmd.Parameters.AddWithValue("@company", cbocompany.Text);
                        cmd.Parameters.AddWithValue("@localiter", cbolocaliter.Text);

                        con.Open();
                        var NewIdentity = cmd.ExecuteScalar();
                        con.Close();



у меня есть символы ошибок, найденные после завершения доступа к оператору sql

Что я уже пробовал:

Как я могу исправить эту проблему ! Заранее спасибо

MadMyche

Какие ошибки?

0x01AA

а.) мне не совсем понятно, что вы имеете в виду: "у меня есть символы ошибок, найденные после завершения доступа к оператору sql"

б.) select @@identity()
Не уверен в этом, но разве так не должно быть select @@identity?

3 Ответов

Рейтинг:
1

Bryian Tan

Вместо того чтобы комбинировать запрос, попробуйте разделить его следующим образом


string query = "INSERT INTO [USER] (Use_Sgi, Use_FirstName, Use_LastName, Use_Email, Use_MobilePhone, Use_BusinessPhone, Com_ID, Loc_ID ) values (@sgi,@nom,@prenom,@email,@telephonefix,@telphonemobile,@company,@localiter);";
...
...

con.Open();
//Execute the Insert
cmd.ExecuteNonQuery();

//now get the identity using the same connection
cmd.CommandText = "SELECT @@IDENTITY";
var NewIdentity = (int)cmd.ExecuteScalar();
Console.WriteLine("AutoNumber: {0}", NewIdentity );

кон.Рядом();

Источник:
Получение автономера из Access через "SELECT @@IDENTITY" должно быть сделано в том же соединении, что и вставка. – Советы и рекомендации с точки зрения поддержки разработчиков.[^]


Maciej Los

5ed!

Рейтинг:
0

Member 14141244

Выбрать Т1.коль, Т3.колонка из таблица1 объединить таблица2 по таблица1.свойства primarykey = таблица2.отношения foreignkey
присоединяйтесь таблица3 по таблица2.свойства primarykey = таблица3.отношения foreignkey


Richard Deeming

Ни малейшей попытки ответить на этот вопрос!

Рейтинг:
0

Member 14141244

Выбрать Т1.коль, Т3.колонка из таблица1 объединить таблица2 по таблица1.свойства primarykey = таблица2.отношения foreignkey
присоединяйтесь таблица3 по таблица2.свойства primarykey = таблица3.отношения foreignkey


Richard Deeming

И почему вы дважды отправили этот ответ без ответа?!