powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / создать файл с именем полученным запросом из базы
22 сообщений из 22, страница 1 из 1
создать файл с именем полученным запросом из базы
    #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
создать файл с именем полученным запросом из базы
    #38268196
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
cmd.CommandText = ("select seqnum from msg.testvb where id = 1 and rownum = 1") 
sFileName = cmd.ExecuteScalar
...
Рейтинг: 0 / 0
создать файл с именем полученным запросом из базы
    #38268212
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bombimbom,

... а почему вы не используете cmd.ExecuteReader() ..??
...
Рейтинг: 0 / 0
создать файл с именем полученным запросом из базы
    #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
создать файл с именем полученным запросом из базы
    #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
создать файл с именем полученным запросом из базы
    #38268267
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотя чтото не понимаю как он создает файл если я путь не указываю...
...
Рейтинг: 0 / 0
создать файл с именем полученным запросом из базы
    #38268271
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LameUser,

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

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

Dim dr As OracleDataReader = cmd.ExecuteReader()
(dr.GetName(2)) а далее както применять к create файл ?
...
Рейтинг: 0 / 0
создать файл с именем полученным запросом из базы
    #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
создать файл с именем полученным запросом из базы
    #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
создать файл с именем полученным запросом из базы
    #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
создать файл с именем полученным запросом из базы
    #38268305
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

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

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

...да вы разберитесь, где у вас название файла, а где - контент ... я, конечно, напутал, но код-то ваш ... :)
...
Рейтинг: 0 / 0
создать файл с именем полученным запросом из базы
    #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
создать файл с именем полученным запросом из базы
    #38268396
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо Вам огромное у меня было 2 такие строчки, заработался уже, обгуглился))
теперь надо сделать перерыв и понять что делать дальше :)
после того как селект перестает выдавать данные
тут ругается IO.File.WriteAllText(testfile, sFileName, System.Text.Encoding.GetEncoding(1251))
Значение не может быть неопределенным.
Имя параметра: path
...
Рейтинг: 0 / 0
создать файл с именем полученным запросом из базы
    #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
создать файл с именем полученным запросом из базы
    #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
создать файл с именем полученным запросом из базы
    #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
создать файл с именем полученным запросом из базы
    #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
создать файл с именем полученным запросом из базы
    #38268759
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не пойму все отлично работало, даже по таймеру создавалось, а теперь перестал
...
Рейтинг: 0 / 0
создать файл с именем полученным запросом из базы
    #38268764
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
разобрался! :)
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / создать файл с именем полученным запросом из базы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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