powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Регистрация на сайте.
25 сообщений из 150, страница 2 из 6
Регистрация на сайте.
    #38690956
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAА, понял. Типа вместе с пользователем добавляются ещё какие-то связанные данные в другую таблицу и тут что-то падает. Человек начинает регистрироваться заного, а такой пользователь уже есть?
Типа того. ) Ему ведь ID полагаю не просто так понадобился. Сценарии вообщем разные бывают.Ну то, зачем ему понадобился ID, никак не связано с тем, как его получить. И от того, что он обернёт свой код в транзакцию, ничего не изменится (в плане получения ID).
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38690959
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAIDENTITY не откатываются, если чё.
Хорошо подумал? )Хорошо. Жги!
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38690970
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНу то, зачем ему понадобился ID, никак не связано с тем, как его получить. И от того, что он обернёт свой код в транзакцию, ничего не изменится (в плане получения ID)
Опять не думаешь.
Разница получить ID, от уже внесенной записи или от предполагаемой. )
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38690973
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПарамонпропущено...

Хорошо подумал? )Хорошо. Жги!
Откатывается все что было в скопе транзакции )
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38690983
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAНу то, зачем ему понадобился ID, никак не связано с тем, как его получить. И от того, что он обернёт свой код в транзакцию, ничего не изменится (в плане получения ID)
Опять не думаешь.
Разница получить ID, от уже внесенной записи или от предполагаемой. )Это ты не думаешь. Я о том, что SCOPE_IDENTITY() не вызовется от того, что код в транзакцию завернуть.
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38690984
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAпропущено...
Хорошо. Жги!
Откатывается все что было в скопе транзакции )IDENTITY не откатываются.

Не веришь? Проверь
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38690999
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЭто ты не думаешь. Я о том, что SCOPE_IDENTITY() не вызовется от того, что код в транзакцию завернуть

Капитан очевидность просто. Разумеется добавляем после инсерта :)

skyANAПарамонпропущено...

Откатывается все что было в скопе транзакции )IDENTITY не откатываются.

Не веришь? Проверь

Откатывается запись, сам ключ ясное дело, уже никому не нужен, если ты об этом.
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691009
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAЭто ты не думаешь. Я о том, что SCOPE_IDENTITY() не вызовется от того, что код в транзакцию завернуть

Капитан очевидность просто. Разумеется добавляем после инсерта :)Я тебе ещё одну очевидную вещь скажу. ТС бы до этого не допёр, после твоей глубокомысленной фразы: "Как вариант транзакцию использовать".

ПарамонskyANAпропущено...
IDENTITY не откатываются.

Не веришь? Проверь
Откатывается запись, сам ключ ясное дело, уже никому не нужен, если ты об этом.Отмаза принята.

Парамон такой Парамон. Лишь бы потроллить
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691021
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA ТС бы до этого не допёр, после твоей глубокомысленной фразы: "Как вариант транзакцию использовать".
Начал бы копать, глядишь бы и допер, ибо как еще получить ID до запись.

skyANAОтмаза принята.
Мне явно не понять, в чем мысль отката самого ключа в данном контексте. Ну, да ладно )
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691037
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANA ТС бы до этого не допёр, после твоей глубокомысленной фразы: "Как вариант транзакцию использовать".
Начал бы копать, глядишь бы и допер, ибо как еще получить ID до запись.Ну так бы и писал: "начните копать с транзакций". А не "как вариант". Как вариант означает, что ты предлагаешь вариант как получить злополучный ID, отличный от вариантов, предложенных ранее.

ПарамонskyANAОтмаза принята.
Мне явно не понять, в чем мысль отката самого ключа в данном контексте.Твоя мысль, тебе её и думать.

ПарамонНу, да ладно )Вот и славно
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691311
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС
При регистрации у Вас есть уникальный ключ?
Регистрация - уже пользователь.
Так что @@IDENTITY если у Вас нет вложенных тригеров или SCOPE_IDENTITY() подойдут.
Можно использовать NEW_ID() и uniqueidentifier тип поля.
После того как пользователь дал commit уже переносить в нормальную табличку.
У Вас тогда будет одна таблица - все кто регистрировался и все кто сказал commit.
Если поставить Каптчу при регистрации, то таблички по объему будут приблизительно равны и смысла разносить - никакого нет.

Про откат IDENTITY, бред какой то.
Можно вставлять свои значения в поле с IDENTITY, а также удалять и при нехитрой манипуляции IDENTITY значение можно повторить.
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691322
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да верно. Мне как то надо отправить линк для активации. Вот думаю может ID использовать....
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691328
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да все верно. Надо как то отправить ссылку для активации. Думаю можно по ID или GUID.

skyANA,

Вот здесь INSERT INTO Users
(Login, Password)
VALUES (@p_sLogin, @p_sPassword)

SET @p_nID = SCOPE_IDENTITY();

как узнает поле с инкрементом ? И как узнает с какого поле именно хочу взять ?
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691340
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВОт так

SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandText =( "INSERT INTO userlcTBL (username, usermail, userPSW) VALUES (@username, @usermail, @userPSW) SET @p_nID = SCOPE_IDENTITY()");

cmd.Parameters.AddWithValue("@username", UserNameTBX.Text);
cmd.Parameters.AddWithValue("@usermail", EmailTBX.Text);
cmd.Parameters.AddWithValue("@userPSW", PswTBX.Text);

cmd.Parameters.Add("@p_nID", SqlDbType.Int).Direction = ParameterDirection.Output;

cmd.ExecuteNonQuery();

PswTBX.Text = cmd.Parameters["@p_nID"].ToString();

cmd.ExecuteNonQuery();

И тут прикол. cmd.Parameters["@p_nID"].ToString(); возвращает в PswTBX.Text @p_nID ))) Что не так делаю ?
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691343
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему возвращает имя параметра p_nID ? А не его значение.
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691362
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Да верно. Мне как то надо отправить линк для активации. Вот думаю может ID использовать....

Использовать LinkID как инкремент не есть хорошо.
Получив одну ссылку можно легко методом перебора пройти по всем остальным.
В итоге такой мини хак.

В качестве ключа для ссылки лучше использовать NEW_ID и uniqueidentifier

@@IDENTITY если у Вас нет вложенных тригеров или SCOPE_IDENTITY() , сами вычисляют поле которое было с автоинкрементном и выдают Вам значение.

Получение данных с MS SQL через OLEDB или SQL Native Client есть куча примеров.
Если Вас интересует MS SQL код то
Код: sql
1.
2.
3.
Declare @ud uniqueidentifier 
Select @ud = NEW_ID()
Insert into TableName (field) values ( @ud) 



Можно поставить NEW_ID() как значение по умолчанию, но тогда через IDENTITY вычислить добавленную запись и у нее уже получить uniqueidentifier

Код: sql
1.
2.
3.
4.
Declare @ID int -- bigint
Insert into TableName (f1, f2,...) values ( @f1, @f2, ...) 
Select @ID = SCOPE_IDENTITY() -- @@IDENTITY 
Select ud from TableName  Where Field_with_IDENTITY = @ID 
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691365
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но для такой рассылки, лично я использую отдельную табличку - мало ли какие еще будут ссылки, восстановление пароля или еще что то.
Есть время жизни у такого адреса.
Чтобы через год, не смогли ей воспользоваться.
И проверочное значение, тоже уходит в письме.
А так же для "верности" еще и каптчу перед кнопкой Commit :-)
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691371
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По поводу отдельной таблицы и uniqueidentifier я согласен. Так и делаю.
Но во всем этом не могу понять одну вещь.
Как вызвать из базы хранимую процедуру, передать и получить данные по параметрам. Такого крутого опыта ещене было ((
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691374
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolochkovaПро откат IDENTITY, бред какой то.Ещё одна.

IDENTITY не откатывается. В чём бред этого утверждения?
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691376
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777По поводу отдельной таблицы и uniqueidentifier я согласен. Так и делаю.
Но во всем этом не могу понять одну вещь.
Как вызвать из базы хранимую процедуру, передать и получить данные по параметрам. Такого крутого опыта ещене было ((Сигнатуру процедуры покажи. А то не понятно, что тебе надо передать, а что получить. А чужой код ты не понимаешь
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691377
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777По поводу отдельной таблицы и uniqueidentifier я согласен. Так и делаю.
Но во всем этом не могу понять одну вещь.
Как вызвать из базы хранимую процедуру, передать и получить данные по параметрам. Такого крутого опыта ещене было ((

1. Лучше использовать процедуру, чем голый текст с набитыми параметрами.
2. Вот ссылка как получить данные http://www.dotnetperls.com/sqldataadapter

По SqlDataAdapter получите кучу еще примеров.
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691379
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

В том что бред про откат.
Смысл утверждения не ясен, придумал сам себе что то и утверждает.

ТС
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
using System;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient; 

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string connetionString = null;
            SqlConnection sqlCnn ;
            SqlCommand sqlCmd ;
            SqlDataAdapter adapter = new SqlDataAdapter();
            DataSet ds = new DataSet();
            int i = 0;
            string sql = null;

            connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password";
            sql = "Select * from product";

            sqlCnn = new SqlConnection(connetionString);
            try
            {
                sqlCnn.Open();
                sqlCmd = new SqlCommand(sql, sqlCnn);
                adapter.SelectCommand = sqlCmd;
                adapter.Fill(ds);
                for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
                {
                    MessageBox.Show(ds.Tables[0].Rows[i].ItemArray[0] + " -- " + ds.Tables[0].Rows[i].ItemArray[1]);
                }
                adapter.Dispose();
                sqlCmd.Dispose();
                sqlCnn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Can not open connection ! ");
            }
        }
    }
}


Вот еще пример
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691381
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolochkovaskyANA,

В том что бред про откат.
Смысл утверждения не ясен, придумал сам себе что то и утверждает.Что тебе не ясно в словосочетании "не откатывается"?
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691382
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAantihacker777По поводу отдельной таблицы и uniqueidentifier я согласен. Так и делаю.
Но во всем этом не могу понять одну вещь.
Как вызвать из базы хранимую процедуру, передать и получить данные по параметрам. Такого крутого опыта ещене было ((Сигнатуру процедуры покажи. А то не понятно, что тебе надо передать, а что получить. А чужой код ты не понимаешь

Конечно не понимает, показал ему кусок кода, тот и повтори его.
То что у тебя нет примера про процедуру - фигня, зато то что у автора нет - уже понты пошли.
Потом еще про OUTPUT у параметра будем пальцы гнуть.
...
Рейтинг: 0 / 0
Регистрация на сайте.
    #38691383
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAVolochkovaskyANA,

В том что бред про откат.
Смысл утверждения не ясен, придумал сам себе что то и утверждает.Что тебе не ясно в словосочетании "не откатывается"?

Я же говорю, сам себе придумал. Сам себе и умный.
Как напишешь, что такое "не откатывается" так и обсудим.
...
Рейтинг: 0 / 0
25 сообщений из 150, страница 2 из 6
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Регистрация на сайте.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]