Добавление значение в поля таблицы

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Добавление значение в поля таблицы

Сообщение dmitriy22 » 16.06.2006 (Пт) 14:51

Пожалуйста ответьте на маленький вопрос:
Я создал соединение с БД Acces 4 поля, записал в первые два запись
Код: Выделить всё
            OleDbConnection1.Open()
            OleDbCommand1.Connection = OleDbConnection1
            OleDbCommand1.CommandText = "INSERT INTO tblPrognoz(поле1, поле2) VALUES('" & поле1 & "','" & поле2 & "')"
            OleDbCommand1.ExecuteNonQuery()

затем хочу в эту же строчку добавить, но в другие поля запись
Код: Выделить всё
        OleDbCommand1.CommandText = "INSERT INTO tblPrognoz(поле3, поле4) VALUES('" & поле3  & "','" & поле4 & "')"
        OleDbCommand1.ExecuteNonQuery()
        OleDbConnection1.Close()

....но у меня она создает новую строчку....???...что я неправильно делаю???
Код: Выделить всё
Я не волшебник, я просто учусь.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.06.2006 (Пт) 15:03

Собственно, INSERT всегда добавляет новую строку.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Сообщение dmitriy22 » 16.06.2006 (Пт) 15:12

ну это да а мне надо к уже созданной строчке добавить запись в другие поля??? каким оператором и как можно сделать?
Я не волшебник, я просто учусь.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.06.2006 (Пт) 15:21

UPDATE, очевидно?
А почему бы не подучить начало азов SQL?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 16.06.2006 (Пт) 15:23

UPDATE
Причем не забудь указать, значение ключевого поля.
Последний раз редактировалось kroskros 16.06.2006 (Пт) 15:24, всего редактировалось 1 раз.
Max

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Сообщение dmitriy22 » 16.06.2006 (Пт) 15:24

update уже пробывал.....может в синтаксисе ошибка...??? как правильно, нужно ли при апдейте заново создавать соединение с базой
Я не волшебник, я просто учусь.

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 16.06.2006 (Пт) 15:27

Если пытаешься внести изменения в строку, указав несуществующие значения ключевого поля, то может и ДОБАВИТЬ эту строку в таблицу
Max

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Сообщение dmitriy22 » 16.06.2006 (Пт) 15:35

нет у меня 4 поля 2 из них я забил Insert

а потом мне надо добавить к этой строчке значения еще 2 остальных полей,.....они пустые??? какой формат синтаксиса....
Я не волшебник, я просто учусь.

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Сообщение dmitriy22 » 16.06.2006 (Пт) 16:08

Код: Выделить всё
            OleDbCommand1.CommandText = "UPDATE tblPrognoz SET 'SchetHome', 'SchetGuest'  where (SchetHome='" & txtPrognozSchetHome.Text & "') and (SchetGuest='" & txtPrognozSchetGuest.Text & "')"


что здесь неправильно???
Я не волшебник, я просто учусь.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.06.2006 (Пт) 16:14

Здесь всё неправильно.
И даже если ты исправишь синтаксис, будет неправильно.
Потому что нет ключевого поля.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 16.06.2006 (Пт) 22:21

http://phpclub.ru/mysql/doc/update.html

просто, тупо повторно перепеши ВСЕ значения полей для задаваемой строки, потом разберешься, как работает. ;)
Max

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Сообщение dmitriy22 » 22.06.2006 (Чт) 15:31

У меня возникла еще проблемка:((
Я создал 2 таблицы....в 1-ой занес данные, во вторуюю занес данные и хочу вывести окно где будут отображаться 1 столбец из одной таблицы и данные из другой, причем они должны быть взимосвязаны, т.е. чтобы строка в 1-ой таблице с ключевым полем ID, и данные из 2-ой таблицы с таким же полем ID... я ID назначил ключевыми полями, но.....
(объясните please/// :( ) мне кажется здесь проблема в связывании, но что-то нигде конкретного про это не написано....
:cry:
я делал так:
создал adapter соединился с базой в ней сделал
Код: Выделить всё
SELECT     tblPrognozSchet.SchetGuest, tblPrognozSchet.SchetHome, tblPrognozLogin.Name
FROM         (tblPrognozSchet INNER JOIN
                      tblPrognozLogin ON tblPrognozSchet.id = tblPrognozLogin.id)
здесь 2 таблицы
потом содал dataset и вывел в Gird данные, но при попытке вывести на экран,т.е. после кода:
Код: Выделить всё
Me.OleDbDataAdapter1.Fill(DataSet11)
        DataGrid1.DataSource = DataSet11._Table(0).Table

выдает ошибку : Additional information: There is no row at position 0.
Я не волшебник, я просто учусь.

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 22.06.2006 (Чт) 16:11

я бы орграничился:
DataGrid1.DataSource = DataSet11._Table(0)
если подразумеввается,
что у тебя в датасете массив таблиц - _Table

вообще, мне наивно казалось, что в FILL в параметрах надо указать конкретную таблицу,
а не весь датасет, как таковой...
Max

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Сообщение dmitriy22 » 22.06.2006 (Чт) 16:33

ну да получается лучше указывать весь dataset.....
я вот связал две таблицы....посредством ключа, т.е. теперь в 1 таблице отображается и вторая таблица, и у меня возник вопрос, что-то у меня не получается вставить данные во 2-ую таблицу через 1-ую......я делаю так:
Код: Выделить всё
OleDbCommand1.CommandText = "INSERT INTO tblPrognozLogin(tblPrognozSchet.SchetGuest, tblPrognozSchet.SchetHome) VALUES ('" & txtPrognozSchetGuest.Text & "', '" & txtPrognozSchetHome.Text & "')"

что я делаю не так.....т.к. у меня в строке данные 1-й таблицы вводятся, а вот когда нажимаю +, т.е. раскрываю и появляется 2-ая таблица, но введенных данных там нет.....там нули....???? :? :?:
Я не волшебник, я просто учусь.

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Сообщение dmitriy22 » 23.06.2006 (Пт) 16:25

Еще один простенький вопрос :wink: :

Как связать данные, т.е. чтобы именно элемент label взял значение из таблицы базы данных.....
.....в свойствах элемента в databinding я прописал
в Text ---> DataSet11 - Table.Name.....
и в коде ...
Код: Выделить всё
            OleDbDataAdapter1.Fill(DataSet11)
            Me.lblName.Text = DataGrid1.SetDataBinding(DataSet11, "Name")

что не так.....или как это можно сделать лучше подсажите..... :(
Я не волшебник, я просто учусь.

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 24.06.2006 (Сб) 13:42

а ты в каком VS работаешь?
Max

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Сообщение dmitriy22 » 26.06.2006 (Пн) 12:54

kroskros писал(а):а ты в каком VS работаешь?

в 2003
Я не волшебник, я просто учусь.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 84

    TopList