Andy07 Ответов: 1

Как сохранить данные со многих ПК в одну таблицу SQL


Я хочу сохранить некоторые данные в одну таблицу со многих ПК. Но данные имеют индекс(ID), который заполняется вручную и заказывается из предыдущих данных (ID), поэтому я сначала проверяю его в базе данных, а затем увеличиваю.Проблема в том, что если несколько ПК/устройств будут сохранены вместе, то они будут сохранены с одинаковым результатом. Как решить эту проблему?

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

Это запрос для поиска последнего идентификатора, который использовался:
public DataRow GetPlayerIDByClient(object clientPK)
       {
           DataRow result = null;

           if (clientPK != null)
           {
               IDbDataParameter clientFKParam = this.CreateParameter(csPlayerNamesEntity.Names.ClientFK, clientPK);

               string selectCommand = string.Format("SELECT TOP 1 * FROM {0} WHERE {1} = {3} AND " +
                                                       "({2} LIKE 'G%' or {2} LIKE 'g%') ORDER BY {4} DESC",
                                                       csPlayerNamesEntity.Names.TableName, //0
                                                       csPlayerNamesEntity.Names.ClientFK, //1
                                                       csPlayerNamesEntity.Names.ID,//2
                                                       clientFKParam,//3
                                                       csPlayerNamesEntity.Names.PK); //4

               DataTable dt = this.ExecReaderDataTable(selectCommand, clientFKParam);

               if (dt != null && dt.Rows.Count > 0)
               {
                   result = dt.Rows[0];
               }
           }

           return result;
       }

1 Ответов

Рейтинг:
1

RickZeeland

Если вы определяете свой столбец ID следующим образом, он будет увеличен автоматически:

ID int IDENTITY(1,1) PRIMARY KEY
Вы также можете установить начальное значение, см. пример здесь: Колонки Идентичности-Простой Разговор[^]

Если это не то, что вы хотите, вы можете подумать о написании триггера на insert, который делает то, что вы хотите.