|
|
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
час58Да нет никаких паролей просьо все коды дома, а я на работе... строкаПодключения = тип,провайдер,пароль,юзер, нет на память я не помню...:-( ну тогда надо проверить: работает ли соединение само по себе с заданными параметрами. если работает, то с какой ошибкой вылетает. пишите из дома, если есть возможность - посмотрим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 16:29 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
код модуля 'Подключаем классы System,OLEDB Imports System Imports System.Data.OleDb 'Imports ADOX Module AConnectionsModule 'Dim cat As New Catalog 'Imports ADOX 'Dim tbl As New Table 'Imports ADOX Public AccessConnection As OleDbConnection 'Imports System.Data.OleDb Public Function StringConnectToBDAccess(ByVal tProvider As String, ByVal tUserID As String, ByVal tPassword As String, ByVal tDataSource As String, ByVal tMode As String) As String 'Формируем строку соединения с Access StringConnectToBDAccess = "Provider=" & tProvider & ";" & _ "User ID=" & tUserID & ";" & _ "Password=" & tPassword & ";" & _ "Data Source=" & tDataSource & ";" & _ "Mode=" & tMode & ";" End Function Public Function ConnectToBDAccess(ByVal MyConnectionString As String, ByRef StatusConnection As String) As Boolean 'Обработка исключения Try 'Создадим AccessConnection = New OleDbConnection(MyConnectionString) 'Открываем БД AccessConnection.Open() 'Статус соединения StatusConnection = "Connection State::" & AccessConnection.State.ToString 'Возврат положительного результата ConnectToBDAccess = True 'Исключение OLEDB Catch MyOdbcException As OleDbException 'Статус соединения (сообщение об ошибке) StatusConnection = MyOdbcException.ToString 'Возврат отрицательного результата ConnectToBDAccess = False 'Исключение по ошибок программы Catch MyException As Exception 'Статус соединения (сообщение об ошибке) StatusConnection = MyException.ToString 'Возврат отрицательного результата ConnectToBDAccess = False End Try End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 20:11 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
кнопка на форме - создать строку соединения и передать её Private Sub btnConnectionSTRingToAccess_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnectionSTRingToAccess.Click 'Формируем строку соединения и записывем её в txtboxConnectionString на форме txtboxConnectionSTRing.Text = StringConnectToBDAccess(txtboxProviderToAccess.Text, txtboxUserToAccess.Text, txtboxPassToAccess.Text, txtboxPathToAccess.Text, txtboxAccessToAccess.Text) End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 20:13 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
кнопка на форме - проверить соединение Private Sub btnTestToAccess_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTestToAccess.Click 'Эта строка - статус подключения Dim StatusConnection As String 'Соединимся и получим результат If ConnectToBDAccess(txtboxConnectionSTRing.Text, StatusConnection) = True Then 'Соединение прошло удачно MsgBox("Соединение прошло удачно. Тест выполнен. Строка состояния: " & StatusConnection) Else 'Соединение не осущесвилось MsgBox("Соединение не осущесвилось! Строка состояния: " & StatusConnection) End If Me.состояние.Text = StatusConnection End Sub всегда выдаёт 'Соединение прошло удачно' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 20:15 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
теперь я пытаюсь как-то считать данные из таблицы базы - "dog2007" Public Sub iz_ltablici() Dim FRM As Form1 Dim dbreader As OleDbDataReader Dim dbCmd As OleDbCommand ' = New OleDbCommand("SELECT NOMER FORM dog2007") dbCmd.Connection = AccessConnection ' и вот тут у меня ошибка vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv dbreader = dbCmd.ExecuteNonQuery("SELECT NOMER FORM dog2007") '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dbreader.Read() FRM.TextBox1.Text = dbreader.GetString(0) End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 20:18 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
Любезнейший... F1, да, начните же Вы свои книжки читать... наконец... ExecuteNonQueryExecutes an SQL statement against the Connection and returns the number of rows affected. Это интегер! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 12:44 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
все примеры в книжке приведены для работы в консольном режиме. А мне это трудно переложить на WINприложение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 14:56 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
час58теперь я пытаюсь как-то считать данные из таблицы базы - "dog2007" Public Sub iz_ltablici() Dim FRM As Form1 Dim dbreader As OleDbDataReader Dim dbCmd As OleDbCommand ' = New OleDbCommand("SELECT NOMER FORM dog2007") dbCmd.Connection = AccessConnection ' и вот тут у меня ошибка vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv dbreader = dbCmd.ExecuteNonQuery("SELECT NOMER FORM dog2007") '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dbreader.Read() FRM.TextBox1.Text = dbreader.GetString(0) End Sub А зачем, простите, два раза запрос писать? зачем же вы тогда команду создавали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 23:19 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
час58Да? ....! Это что? Мне? Думаете, ваши эмоции улучшат ситуацию? Если вам нужна помощь, будьте терпеливы, плз. Сложно быть телепатом, и понять - что же вам, в сущности, нужно. Если код, который вы привели реальный, т.е. тот, который вы используете, то у вас несколько непонятностей: 1. Ошибка в ключевом слове "FROM" запросе "SELECT NOMER FORM dog2007"; 2. В методе ExecuteNonQuery не нужно указывать текст сроки запроса, к тому же, с той же ошибкой, что и в п. 1; 3. Метод ExecuteNonQuery не применяется для выбора значений из таблицы, он только выполняет команду на сервере и возвращает количество обработанных записей. На это обратил внимание buser и написал вам тип значения, возвращаемого данным методом. И это никак не относится к разнице между консольными и Win приложениями. А для выбора значений необходимо применить метод ExecuteReader. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2007, 22:18 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
я извиняюсь, видимо я не правильно выразился... хотел сказать- вот ведь как, а я и не заметил ошибку - то..., но написал сокращённо...Дааа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2007, 09:34 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
Выписал ещё книжку и снова незадача... все примеры на языке C#, а я его в глаза не видел... я всегда на vb да vba писал... пока в конструкторе всё понятно , а как тока код, то не всегда бесик понимает меня... вот к примеру проверяем вносились ли изменения в набор данных ds1 в учебнике написано на C# If (Ds1.HasChanges()) DataTable dtDelChild = Ds1.Prep.GetChanges(DataRowState.Deleted) dtDelChild- что это? Спрашивает бесик... , а я и сам не знаю что это. DataTable - и это что это? Данные таблицы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2007, 09:43 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
попробовал так If Ds1.HasChanges() Then DataTable(dtDelChild = Ds1.Prep.GetChanges(DataRowState.Deleted)) DataTable(dtDelChild - не поняли друг друга... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2007, 09:46 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
Ну естественно, что у этих языков разный синтаксис, т.е. строка: Код: plaintext Код: plaintext На счёт литературы... Приобретите книгу С. Малик "ADO.NET 2.0 Для профессионалов", на форуме вы не получите столько информации, сколько находится в этой книге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2007, 11:48 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
<<Для профессионалов>>??? Я читаю сейчас книгу для чайников...:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2007, 22:09 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
А что-же в C# переменные и объекты объявляются по ходу... без ключевого слова (dim, let, set)??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2007, 22:12 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
час58А что-же в C# переменные и объекты объявляются по ходу... без ключевого слова (dim, let, set)??? Книга названа "... для профессионалов", но изучение ADO там ведётся с основ, но не основ программирования. а с основ работы с технологией ADO. Поэтому, если чувствуете в себе уверенность, то можете приобрести данную книгу, если нет, то сначала почитайте основы по VB. На ваш вопрос отвечу, что объявление переменных в C# производится без использования ключевых слов, необходимо только перед именем переменной указать её тип, и, при необходимости, инициализировать её значение после знака равенства. Объявляются переменные в зависимости от контекста, где это необходимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 09:06 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
Модератор: Топик пока не закрываю, но он уже на грани. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 09:16 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
hDrummerМодератор: Топик пока не закрываю, но он уже на грани. Хорошо... Тема пррикрыта... ' Книгу С. Малик скачал ( PDF ).Спасибо за совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 09:57 |
|
||
|
только начал осваивать
|
|||
|---|---|---|---|
|
#18+
Извините, не удержался... Вот что у меня вышло в финале... в форме_№2 Private Sub dog_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim ds As DataSet Dim Ad As OleDb.OleDbDataAdapter ds = New DataSet Me.DG_dog.DataSource = ds Try Comm = New OleDb.OleDbCommand("SELECT * FROM DOG2007", AccessConnection) Comm.Connection = AccessConnection Ad = New OleDb.OleDbDataAdapter Ad.SelectCommand = Comm Ad.Fill(ds, "DOG2007") Me.DG_dog.DataMember = ds.Tables("DOG2007").TableName AccessConnection.Close() AccessConnection.Dispose() Comm.Dispose() ds.Dispose() Catch ex As Exception MsgBox("ошибочка - >" & ex.Message) End Try End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 20:27 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=34705937&tid=1352672]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 384ms |

| 0 / 0 |
