Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / создать файл с именем полученным запросом из базы / 22 сообщений из 22, страница 1 из 1
22.05.2013, 13:08
    #38268171
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
Есть процедура
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
  
        Dim conn As New OracleConnection(oradb)
        conn.Open()
        Dim cmd As New OracleCommand
        Dim testfile As String
        cmd.Connection = conn
        cmd.CommandType = CommandType.Text
        cmd.CommandText = ("select test,seqnum from msg.testvb where id = 1 and rownum = 1") 'seqnum тут получаю имя для файла
        cmd.ExecuteNonQuery()
        testfile = cmd.ExecuteScalar()
        IO.File.Create("C:/test.txt").Dispose()
        IO.File.WriteAllText("C:/test.txt", testfile, System.Text.Encoding.GetEncoding(1251)) 
        If IO.File.Exists("C:/test.txt") Then
            cmd.CommandText = ("update msg.testvb set id = 3 where id = 1")
            cmd.ExecuteNonQuery()
        End If
        cmd.Dispose()
        conn.Dispose()



подскажите как создать файл с полученным именем?
...
Рейтинг: 0 / 0
22.05.2013, 13:24
    #38268196
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
Код: vbnet
1.
2.
cmd.CommandText = ("select seqnum from msg.testvb where id = 1 and rownum = 1") 
sFileName = cmd.ExecuteScalar
...
Рейтинг: 0 / 0
22.05.2013, 13:32
    #38268212
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
bombimbom,

... а почему вы не используете cmd.ExecuteReader() ..??
...
Рейтинг: 0 / 0
22.05.2013, 13:33
    #38268216
LameUser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
bombimbomЕсть процедура
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
  
        Dim conn As New OracleConnection(oradb)
        conn.Open()
        Dim cmd As New OracleCommand
        Dim testfile As String
        cmd.Connection = conn
        cmd.CommandType = CommandType.Text
        cmd.CommandText = ("select test,seqnum from msg.testvb where id = 1 and rownum = 1") 'seqnum тут получаю имя для файла
        cmd.ExecuteNonQuery()
        testfile = cmd.ExecuteScalar()
        IO.File.Create("C:/test.txt").Dispose()
        IO.File.WriteAllText("C:/test.txt", testfile, System.Text.Encoding.GetEncoding(1251)) 
        If IO.File.Exists("C:/test.txt") Then
            cmd.CommandText = ("update msg.testvb set id = 3 where id = 1")
            cmd.ExecuteNonQuery()
        End If
        cmd.Dispose()
        conn.Dispose()



подскажите как создать файл с полученным именем?

тынц
...
Рейтинг: 0 / 0
22.05.2013, 13:58
    #38268262
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
   Dim oradb As String = "Data Source=jamocs;User Id=ocs;Password=_ocs;"
        Dim conn As New OracleConnection(oradb)
        conn.Open()
        Dim cmd As New OracleCommand
        Dim testfile As String
        'Dim tt As New IO.DirectoryInfo("c:\")
        cmd.Connection = conn
        cmd.CommandType = CommandType.Text
        cmd.CommandText = ("select seqnum from msg.testvb where id = 1 and rownum = 1")
        cmd.ExecuteNonQuery()
        testfile = cmd.ExecuteScalar()
        'IO.File.Create("C:/test.txt").Dispose()
        'My.Computer.FileSystem.RenameFile("C:/test.txt", testfile & ".txt")
        IO.File.WriteAllText(testfile & ".txt", testfile, System.Text.Encoding.GetEncoding(1251)) 'методом научного тыка получилось так, но данные в файл не попадают
        If IO.File.Exists("C:/test.txt") Then
            cmd.CommandText = ("update msg.testvb set id = 3 where id = 1")
            cmd.ExecuteNonQuery()
        End If
        cmd.Dispose()
        conn.Dispose()
...
Рейтинг: 0 / 0
22.05.2013, 14:01
    #38268267
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
хотя чтото не понимаю как он создает файл если я путь не указываю...
...
Рейтинг: 0 / 0
22.05.2013, 14:04
    #38268271
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
LameUser,

я обыскался уже, перед тем как постить на форуме я активно гуглю, вот обращаюсь потому-что не смог найти решения
...
Рейтинг: 0 / 0
22.05.2013, 14:07
    #38268277
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
carrotik,

я там думаю на будущее мне нужно чтобы получить из 2 значений только seqnum
нужно будет использовать такие строчки

Dim dr As OracleDataReader = cmd.ExecuteReader()
(dr.GetName(2)) а далее както применять к create файл ?
...
Рейтинг: 0 / 0
22.05.2013, 14:11
    #38268285
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
bombimbom,

File.WriteAllText Method (String, String)
Creates a new file , writes the specified string to the file, and then closes the file. If the target file already exists, it is overwritten.

http://msdn.microsoft.com/en-us/library/ms143375.aspx
...
Рейтинг: 0 / 0
22.05.2013, 14:12
    #38268288
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
или както так попробовать
Код: vbnet
1.
2.
3.
 Dim tt As String
        tt = "c:\"
        IO.File.WriteAllText("tt " & testfile & ".txt", testfile, System.Text.Encoding.GetEncoding(1251))
...
Рейтинг: 0 / 0
22.05.2013, 14:18
    #38268297
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
... где-то так должно быть .. но проверьте ...
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
  
        Dim conn As New OracleConnection(oradb)
        conn.Open()
        Dim cmd As New OracleCommand
        Dim testfile As String
Dim sFileName As String
        cmd.Connection = conn
        cmd.CommandType = CommandType.Text
        cmd.CommandText = ("select test,seqnum from msg.testvb where id = 1 and rownum = 1") 'seqnum тут получаю имя для файла
        Dim reader As OracleDataReader = cmd.ExecuteReader()
                    While reader.Read()
                    sFileName = reader.GetValue(1)
testfile = "C:\" & reader.GetValue(0) & ".txt"
                    End While

        IO.File.WriteAllText(sFileName, testfile, System.Text.Encoding.GetEncoding(1251)) 
        If IO.File.Exists(sFileName) Then
            cmd.CommandText = ("update msg.testvb set id = 3 where id = 1")
            cmd.ExecuteNonQuery()
        End If
        cmd.Dispose()
        conn.Dispose()
...
Рейтинг: 0 / 0
22.05.2013, 14:21
    #38268305
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
carrotik,

.... наоборот, ёлы-палы ... поменяйте sFileName и testfile местами ...
...
Рейтинг: 0 / 0
22.05.2013, 14:36
    #38268345
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
тут пишет путь содержит недопустимые знаки

IO.File.WriteAllText(testfile, sFileName, System.Text.Encoding.GetEncoding(1251))
...
Рейтинг: 0 / 0
22.05.2013, 14:39
    #38268350
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
bombimbom,

...да вы разберитесь, где у вас название файла, а где - контент ... я, конечно, напутал, но код-то ваш ... :)
...
Рейтинг: 0 / 0
22.05.2013, 14:41
    #38268356
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
carrotik... где-то так должно быть .. но проверьте ...
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
  
        Dim conn As New OracleConnection(oradb)
        conn.Open()
        Dim cmd As New OracleCommand
        Dim testfile As String
Dim sFileName As String
        cmd.Connection = conn
        cmd.CommandType = CommandType.Text
        cmd.CommandText = ("select test,seqnum from msg.testvb where id = 1 and rownum = 1") 'seqnum тут получаю имя для файла
        Dim reader As OracleDataReader = cmd.ExecuteReader()
                    While reader.Read()
                    testfile = reader.GetValue(0)
sFileName = "C:\" & reader.GetValue(1) & ".txt"
                    End While

        IO.File.WriteAllText(sFileName, testfile, System.Text.Encoding.GetEncoding(1251)) 
        If IO.File.Exists(sFileName) Then
            cmd.CommandText = ("update msg.testvb set id = 3 where id = 1")
            cmd.ExecuteNonQuery()
        End If
        cmd.Dispose()
        conn.Dispose()



... вот так должно быть правильно ... вроде бы .. :)
...
Рейтинг: 0 / 0
22.05.2013, 14:56
    #38268396
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
спасибо Вам огромное у меня было 2 такие строчки, заработался уже, обгуглился))
теперь надо сделать перерыв и понять что делать дальше :)
после того как селект перестает выдавать данные
тут ругается IO.File.WriteAllText(testfile, sFileName, System.Text.Encoding.GetEncoding(1251))
Значение не может быть неопределенным.
Имя параметра: path
...
Рейтинг: 0 / 0
22.05.2013, 15:05
    #38268419
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
bombimbomспасибо Вам огромное у меня было 2 такие строчки, заработался уже, обгуглился))
теперь надо сделать перерыв и понять что делать дальше :)
после того как селект перестает выдавать данные
тут ругается IO.File.WriteAllText(testfile, sFileName, System.Text.Encoding.GetEncoding(1251))
Значение не может быть неопределенным.
Имя параметра: path

IO.File.WriteAllText( sFileName , testfile, System.Text.Encoding.GetEncoding(1251))
...
Рейтинг: 0 / 0
22.05.2013, 15:54
    #38268561
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
carrotik,

Код: vbnet
1.
cmd.CommandText = ("update msg.testvb set id = 3 where seqnum = :data")



тут происходит update и
Код: vbnet
1.
("select test,seqnum from msg.testvb where id = 1 and rownum = 1")


уже не передает никакие данные
...
Рейтинг: 0 / 0
22.05.2013, 16:05
    #38268588
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
пообедал и решил ))
If reader.GetValue(1) > 0 Then
data = reader.GetValue(1)
sFileName = reader.GetValue(0)
testfile = "C:\" & reader.GetValue(1) & ".txt"
IO.File.WriteAllText(testfile, sFileName, System.Text.Encoding.GetEncoding(1251))
End If
End While

большое спасибо за помощь :)
буду дальше дерзать basic )))
...
Рейтинг: 0 / 0
22.05.2013, 17:18
    #38268751
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
чтото не помйму вроде все работало
Код: vbnet
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.
 Dim oradb As String = "Data Source=jamocs;User Id=ocs;Password=_ocs;"
        Dim conn As New OracleConnection(oradb)
        conn.Open()
        Dim cmd As New OracleCommand
        Dim testfile As String
        Dim sFileName As String
        Dim data As String
        cmd.Connection = conn
        cmd.CommandType = CommandType.Text
        cmd.CommandText = ("select test,seqnum from msg.testvb where id = 1 and rownum = 1")
        Dim reader As OracleDataReader = cmd.ExecuteReader()
        While reader.Read()
            If reader.GetValue(1) > 0 Then    'тут пишет Оператор ">" не задан для тип "DBNull" и тип "Integer".
                data = reader.GetValue(1)
                sFileName = reader.GetValue(0)
                testfile = "C:\" & reader.GetValue(1) & ".txt"      'каталог для сохранения файлов
                IO.File.WriteAllText(testfile, sFileName, System.Text.Encoding.GetEncoding(1251))
                If IO.File.Exists(testfile) = True Then
                    cmd.CommandText = ("update msg.testvb set id = 3 where seqnum = :data")
                    cmd.Parameters.Add("data", OracleDbType.Varchar2).Value = data
                    cmd.ExecuteNonQuery()
                End If
            End If
        End While
        reader.Dispose()
        cmd.Dispose()
        conn.Dispose()
...
Рейтинг: 0 / 0
22.05.2013, 17:24
    #38268759
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
не пойму все отлично работало, даже по таймеру создавалось, а теперь перестал
...
Рейтинг: 0 / 0
22.05.2013, 17:29
    #38268764
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать файл с именем полученным запросом из базы
разобрался! :)
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / создать файл с именем полученным запросом из базы / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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