Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Обновление поля в mssql через adodb / 21 сообщений из 21, страница 1 из 1
13.07.2010, 14:14
    #36738366
32sasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Можно ли таким способом обновить данные в таблице?
Dim rs As New ADODB.Recordsetresurs = "pro;User ID=ro;Password=ro"ResSQL = "Provider=SQLOLEDB.1;Data Source=" & resurs & ";Initial Catalog=Server"Запр = "SELECT u.ntext2 FROM UserData as u docs as d where u.tp_ListId = ListId and u.tp_SiteId = SiteId and d.dirname like '%_126%' and d.LeafName like '%Test1.xls%' and DocLibRowId = tp_ID"rs.Open Запр ResSQLWhile (Not rs.EOF) rs(0) = 'Привет' rs.MoveNextWendrs.Close
Запрос на обновление поля в Microsoft SQL Server Management Studio
UPDATE UserDataSET ntext2 = 'Привет'FROM UserData INNER JOIN Docs AS d ON UserData.tp_ListId = d.ListId AND UserData.tp_SiteId = d.SiteId AND UserData.tp_ID = d.DoclibRowIdWHERE (d.DirName LIKE '%_126%') AND (d.LeafName LIKE '%Test1.xls%')
...
Рейтинг: 0 / 0
13.07.2010, 14:16
    #36738376
32sasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Можно ли таким способом обновить данные в таблице?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim rs As New ADODB.Recordset
resurs = "pro;User ID=ro;Password=ro"
ResSQL = "Provider=SQLOLEDB.1;Data Source=" & resurs & ";Initial Catalog=Server"
Запр = "SELECT u.ntext2 FROM UserData as u	docs as d where u.tp_ListId = ListId and u.tp_SiteId = SiteId and d.dirname like '%_126%' and d.LeafName like '%Test1.xls%' and DocLibRowId = tp_ID"
rs.Open Запр	ResSQL
While (Not rs.EOF)
rs( 0 ) = 'Привет'
rs.MoveNext
Wend
rs.Close
Запрос на обновление поля в Microsoft SQL Server Management Studio
Код: plaintext
1.
2.
3.
4.
UPDATE UserData
SET ntext2 = 'Привет'
FROM UserData INNER JOIN
Docs AS d ON UserData.tp_ListId = d.ListId AND UserData.tp_SiteId = d.SiteId AND UserData.tp_ID = d.DoclibRowId
WHERE (d.DirName LIKE '%_126%') AND (d.LeafName LIKE '%Test1.xls%')
...
Рейтинг: 0 / 0
13.07.2010, 14:16
    #36738377
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
SRC и CSV - не одно и то же
...
Рейтинг: 0 / 0
13.07.2010, 14:18
    #36738382
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
нельзя
Нужно объявить ADODB.Connection, подключиться к серверу и выполнить метод Execute
...
Рейтинг: 0 / 0
13.07.2010, 14:18
    #36738385
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
в чём заключается ваш вопрос?

выполнить UPDATE можно напрямую из объекта ADODB.Connection с помощью метода Execute
...
Рейтинг: 0 / 0
13.07.2010, 14:20
    #36738386
32sasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Shocker.Pro,

А примерчик можно?
...
Рейтинг: 0 / 0
13.07.2010, 14:21
    #36738393
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
32sashaShocker.Pro,

А примерчик можно?

сколько угодно
...
Рейтинг: 0 / 0
13.07.2010, 14:22
    #36738394
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim cn as ADODB.Connection
Dim ConnectionString as String
Dim ret as Long

ConnectionString = "Provider=..."
SQL = "UPDATE ..."

Set cn = New ADODB.Connection
cn.Open ConnectionString

ret = cn.Execute(SQL)
...
Рейтинг: 0 / 0
13.07.2010, 14:27
    #36738410
32sasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Konst_One
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim cn as ADODB.Connection
Dim ConnectionString as String
Dim ret as Long

ConnectionString = "Provider=..."
SQL = "UPDATE ..."

Set cn = New ADODB.Connection
cn.Open ConnectionString

ret = cn.Execute(SQL)


Сразу можно в запросе UPDATE писать?
...
Рейтинг: 0 / 0
13.07.2010, 14:28
    #36738417
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
вам можно, разрешаю
...
Рейтинг: 0 / 0
13.07.2010, 14:28
    #36738422
32sasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Вот Спасибо!!!
...
Рейтинг: 0 / 0
13.07.2010, 14:29
    #36738426
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Костя, почему ты Ret как Лонг объявил?
...
Рейтинг: 0 / 0
13.07.2010, 14:38
    #36738472
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Shocker.ProКостя, почему ты Ret как Лонг объявил?
в попыхах с NET спутал
...
Рейтинг: 0 / 0
13.07.2010, 14:41
    #36738481
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Код: plaintext
cn.Execute SQL
...
Рейтинг: 0 / 0
13.07.2010, 14:45
    #36738495
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Dim cn As ADODB.Connection
Dim ret As ADODB.Recordset
Dim sql As String

Set cn = New ADODB.Connection

cn.CursorLocation = adUseClient
cn.Open "Provider=SQLOLEDB.1;User ID=sa;Password=111;Persist Security Info=False;Initial Catalog=test;Data Source=TEST"


sql = "update [Client] set FullName='name' where ClientId=1;select @@ROWCOUNT"

Set ret = cn.Execute(sql, True)

Set ret = ret.NextRecordset
MsgBox ret.Fields( 0 ).Value 'если  1  , то проапдейтилось
...
Рейтинг: 0 / 0
13.07.2010, 15:53
    #36738730
32sasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Konst_One,
Спасибо всем, все работает по первому примеру, Ret просто объявил.
Есть проблема с русскими текстом, в базе в поле одни знаки вопроса.
Что мне необходимо сделать?
...
Рейтинг: 0 / 0
13.07.2010, 15:55
    #36738738
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
32sasha,

какой тип данных для поля, в котором не отображаются русские буквы ?
...
Рейтинг: 0 / 0
13.07.2010, 15:55
    #36738739
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
32sashaKonst_One,
Спасибо всем, все работает по первому примеру, Ret просто объявил.
Есть проблема с русскими текстом, в базе в поле одни знаки вопроса.
Что мне необходимо сделать?

разобраться с COLLATE своей базы и соответствующих столбцов ваших таблиц. про типы не забывайте: нужно объявлять как nvarchar(), ntext()
при апдейте таких полей надо писать так:

Код: plaintext
UPDATE MyTable SET MyField = N'new value'
...
Рейтинг: 0 / 0
13.07.2010, 16:00
    #36738753
32sasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
big-duke32sasha,
какой тип данных для поля, в котором не отображаются русские буквы ?
ntext
...
Рейтинг: 0 / 0
13.07.2010, 16:02
    #36738764
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
32sashabig-duke32sasha,
какой тип данных для поля, в котором не отображаются русские буквы ?
ntext

тогда см как правильно надо апдейт делать, выше пример
...
Рейтинг: 0 / 0
13.07.2010, 16:02
    #36738765
32sasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление поля в mssql через adodb
Konst_Oneразобраться с COLLATE своей базы и соответствующих столбцов ваших таблиц. про типы не забывайте: нужно объявлять как nvarchar(), ntext()
при апдейте таких полей надо писать так:
Код: plaintext
UPDATE MyTable SET MyField = N'new value'

Еще раз спасибо, работает.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Обновление поля в mssql через adodb / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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