powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Запись в БД информации из веб-сервиса
27 сообщений из 27, показаны все 2 страниц
Запись в БД информации из веб-сервиса
    #38182895
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток! Только начал изучать веб-сервисы. Создал веб-сервис для сложения двух строк. Результат в xml файле показывается в браузере. Как этот результат занести в базу? Базу создаю в VS2010 (правой кнопкой мыши добавить новый элемент -> База Данных SQL). В базе создал таблицу newtable с полем id(varchar).

Вот код веб-сервиса и того как через веб-узел получить доступ к функциям веб-сервиса:

Код Формы Default.aspx
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
protected void Button1_Click(object sender, EventArgs e)
    {
        localhost.Vremenno wsVremenno = new localhost.Vremenno();
        string a = System.Convert.ToString(TextBox1.Text);
        string b = System.Convert.ToString(TextBox2.Text);
        Label5.Text = wsVremenno.Sum(a,b);
        Label5.Visible = true;
     }



Код метода servise.cs
Код: c#
1.
2.
3.
4.
5.
6.
[WebMethod]
    public string Sum(string a, string b)
    { 
        string c;
        return c = a + b;
    }




Насколько я понимаю, надо на форме Default.aspx делать это все, но я не работал никогда с MSSQL и особо не знаю как создавать там базы. И Есть ли разница если создать Базу прямо через VS2010 или же адо из MSSQL. Заранее спасибо. Ни на одном форуме не ответили, хоть тут. Базу добавил прям в проект т.к. не знаю как работать с БД, создал таблицу в ней newtable с полем id. Вот в текстбоксы ввожу две строки и в лайбл выводится вся строка объединенная. КАК ЕЕ ЗАПИСАТЬ в БД НА MSSQL??
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38182909
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджет,

А при чём вэбсервисы? Наверное, потому и не ответили.
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38182916
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge, я только начал изучать веб-сервисы. Пишу программу такую. В общем есть веб-сервис простой который позволяет сложить две строки, при выполнении результат отображается в браузере в xml файле. Затем написал проект для использования этого сервиса, где поместил два тексбокса и лайбл в тексбоксы ввожу строки и при нажатии на кнопку в лайбл выводится строка сумма двух тех что ввел в тексбоксы. Теперь хочу эту строку полученную записать в MSSQL. Вот на этом месте не знаю как дальше идти.

Я не знаю есть ли разница вообще если создать бд отдельно в MSSQL или можно ли включить бд сразу в проект, где я писал код для кнопки. И второе как туда записать инфо.

Задача как я понимаю сводится к тому чтобы записать данные выводимые в лайбл в бд. А как записать не знаю.
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38183367
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджет - нужно начать с простого или купите книги или читайте туториалы.

авторЯ не знаю есть ли разница вообще если создать бд отдельно в MSSQL или можно ли включить бд сразу в проект, где я писал код для кнопки. И второе как туда записать инфо.


С точки зрения кода разницы нет - только разница в строке подключения.
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38183732
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
eJack, Какую книжку или help посоветуете?
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38184049
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Обрисуйте" чем вы хотите заниматься, в каком направлении развиваться.

Ну и собственно поиск ни кто не отменял.
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38184270
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
eJack, Есть таблицы в формате DBF, в которых хранятся различные данные об обследованиях, врачах, расписаниях врачей. Нужно вытаскивать из этих dbf-ок различную информацию, обрабатывать и пересылать их в xml формате на портал минздрава РФ.
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38184277
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо работать с dbf таблицами, а пока я просто изучаю, поэтому хотел узнать как с mssql работать во взаимодействии с с#..

если вы укажите источник где есть примеры работы с dbf тоже было бы неплохо
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38184342
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджет,

Речь идёт об mssql или о dbf?
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38184513
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge, работать надо с dbf, про mssql просто хотел для начала освоить его чуть, чтобы потом для dbf работать легче было, чтобы понятия имел как работать с БД в C#. А вообще нужно работать с dbf
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38186872
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня такой вопрос. Есть таблица по пути C:\tabl.dbf. Эта таблица содержит поля id(числовое),name(символьное).

1. Как подключиться к этой таблице из проекта C#?
2. Как записать в поле Name значение из Textbox1?
3. Как вывести значение из поля Name в Label1?
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187089
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджет,

Лично я к дбф, если надо, подключаюсь из-под ODBC.
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187163
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge, А вы можете примеры привести для моих 3-х вопросов? Я только начинаю изучать C#..
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187173
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187186
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ, Вот такая функция описана по этой ссылке в файле DbfReader.cs. А где в нем указать путь к таблице, название таблицы, поля не знаю как

Код: c#
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
using System;
using System.Data;
using System.Data.OleDb;
using System.IO;

namespace DbfHelpers
{
    /// <summary>
    /// Работа с Dbf-файлом
    /// </summary>
    public class DbfReader : IDisposable
    {
        /// <summary>
        /// Путь к файлу
        /// </summary>
        public string LocalPath { get; private set; }
        /// <summary>
        /// Имя файла
        /// </summary>
        public string LocalFile { get; private set; }
        /// <summary>
        /// Соединение
        /// </summary>
        public OleDbConnection LocalConnection { get; private set; }

        /// <summary>
        /// Строка соединения
        /// </summary>
        public string ConnectionString
        {
            get
            {
                string connectionString = string.Format(
                    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=False;Extended Properties=dBASE IV;",
                    LocalPath
                );
                return connectionString;
            }
        }

        /// <summary>
        /// Конструктор
        /// </summary>
        private DbfReader()
        {

        }

        /// <summary>
        /// Конструктор
        /// </summary>
        /// <param name="fileName"></param>
        public DbfReader(string fileName)
        {
            LocalPath = Path.GetDirectoryName(fileName);
            LocalFile = Path.GetFileName(fileName);
            LocalConnection = new OleDbConnection(ConnectionString);
        }

        /// <summary>
        /// Выполнить SQL-запрос
        /// </summary>
        /// <param name="sql"></param>
        public void ExecuteSql(string sql)
        {
            if (LocalConnection.State != ConnectionState.Open)
            {
                LocalConnection.Open();
            }
            var command = LocalConnection.CreateCommand();
            command.CommandText = sql;
            command.ExecuteScalar();
        }

        /// <summary>
        /// Открыть соединение
        /// </summary>
        public void ConnectionOpen()
        {
            LocalConnection.Open();
        }

        /// <summary>
        /// Закрыть соединение
        /// </summary>
        public void ConnectionClose()
        {
            LocalConnection.Close();
        }

        /// <summary>
        /// Выполнить SQL-запрос с форматированием string.Format
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="obj"></param>
        public void ExecuteSql(string sql, params object[] obj)
        {
            ExecuteSql(string.Format(sql, obj));
        }

        /// <summary>
        /// Прочитать данные
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public DataTable Read(string sql)
        {
            if (LocalConnection.State != ConnectionState.Open)
            {
                LocalConnection.Open();
            }

            var table = new DataTable();

            using (var adapter = new OleDbDataAdapter())
            {
                var command = LocalConnection.CreateCommand();
                command.CommandText = sql;
                adapter.SelectCommand = command;
                adapter.Fill(table);
            }

            return table;
        }

        /// <summary>
        /// Прочитать данные с форматированием string.Format
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="obj"></param>
        /// <returns></returns>
        public DataTable Read(string sql, params object[] obj)
        {
            return Read(string.Format(sql, obj));
        }

        /// <summary>
        /// Прочитать данные
        /// </summary>
        /// <returns></returns>
        public DataTable Read()
        {
            return Read("SELECT * FROM {0}", LocalFile);
        }

        /// <summary>
        /// Закрытие подключения
        /// </summary>
        public void Dispose()
        {
            LocalConnection.Dispose();
        }
    }
}

...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187275
Гаджет,
изучай string.Format
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187292
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
string b = System.Convert.ToString(TextBox2.Text);


а это из какого учебника? o_0
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187415
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел статью, как выгрузить данные из dbf в грид на С#

сделал как описано в статье, создал новый класс workdbf.cs

добавил следующее

Код: c#
1.
2.
3.
4.
using System;
using System.Data.Odbc;
using System.Data;
using System.Windows.Forms;



Код: c#
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
class WorkDBF
{
   private OdbcConnection Conn = null;
   public DataTable Execute(string Command)
   {
      DataTable dt = null;
      if (Conn != null)
      {
         try
         {
            Conn.Open();
            dt = new DataTable();
            System.Data.Odbc.OdbcCommand oCmd = Conn.CreateCommand();
            oCmd.CommandText = Command;  
            dt.Load(oCmd.ExecuteReader());
            Conn.Close();
         }
         catch (Exception e)
         {
             MessageBox.Show(e.Message); 
         }
      }
      return dt; 
   }
   public DataTable GetAll(string DB_path)
   {
      return Execute("SELECT * FROM " + DB_path);
   }

   public WorkDBF()
   {
      this.Conn = new System.Data.Odbc.OdbcConnection();
      Conn.ConnectionString = @"Driver={Microsoft dBase  Driver (*.dbf)};" +
             "SourceType=DBF;Exclusive=No;" +
             "Collate=Machine;NULL=NO;DELETED=NO;" +
             "BACKGROUNDFETCH=NO;"; 
   }
}



и на методе click у кнопки следующее добавил:
Код: c#
1.
2.
3.
WorkDBF WDBF = new WorkDBF();
dataGridView1.DataSource = WDBF.GetAll("C:\\1.dbf");
dataGridView2.DataSource = WDBF.Execute("SELECT id, name FROM C:\\1.dbf");



В итоге выдается ошибка:
ERROR [IM002] [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию КАК ИСПРАВИТЬ ПОДСКАЖИТЕ? В строке подключения как правильно прописать? У меня таблица по пути C:\\1.dbf
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187431
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187544
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ, Ну перешел я по этой ссылке, которую и до этого вы давали, Там создается как я понимаю таблица и заносятся данные в нее

Код: c#
1.
2.
3.
4.
5.
6.
using (var reader = new DbfReader("Tests.dbf"))
{
    reader.ExecuteSql(@"CREATE TABLE {0} (N int, DATA_TOTAL decimal(2), DATA_REC char(254), DATA_DT datetime)", reader.LocalFile);
    reader.ExecuteSql(@"INSERT INTO {0} VALUES (55306, 19732381.67, '044525225', '17.03.2011')", reader.LocalFile);
    DataTable data = reader.Read();
}



Скачал прикрепленный файл и не понял там, где подключение к таблице, а точнее где там указана сама таблица с путем.

В выше указанном коде вы можете показать мне где нужно исправить в строке подключения путь? Вот здесь:
Код: c#
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
class WorkDBF
{
   private OdbcConnection Conn = null;
   public DataTable Execute(string Command)
   {
      DataTable dt = null;
      if (Conn != null)
      {
         try
         {
            Conn.Open();
            dt = new DataTable();
            System.Data.Odbc.OdbcCommand oCmd = Conn.CreateCommand();
            oCmd.CommandText = Command;  
            dt.Load(oCmd.ExecuteReader());
            Conn.Close();
         }
         catch (Exception e)
         {
             MessageBox.Show(e.Message); 
         }
      }
      return dt; 
   }
   public DataTable GetAll(string DB_path)
   {
      return Execute("SELECT * FROM " + DB_path);
   }

   public WorkDBF()
   {
      this.Conn = new System.Data.Odbc.OdbcConnection();
      Conn.ConnectionString = @"Driver={Microsoft dBase  Driver (*.dbf)};" +
             "SourceType=DBF;Exclusive=No;" +
             "Collate=Machine;NULL=NO;DELETED=NO;" +
             "BACKGROUNDFETCH=NO;"; 
   }
}

...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187571
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджет,

в конструкторе.
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187784
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджет,

вы проверьте сначала, установлен ли на вашем компьютере драйвер ODBC - DBF (в Панели управления или Администрировании - Источники данных (ODBC)) .. Если нет - установите дравер или попытайтесь использовать драйвер OleDB (как на другом форуме показано :) )
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187814
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotik, я проверил в панели управления есть пункт ODBC открыл указано какие файлы открываются или связаны..
Вот выложу свой проект, который делаю как тут помогите исправить, а то не догоняю я, вроде в методе клик у кнопки путь верно указываю, все равно пишет не найден драйвер
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187843
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджет,

не, я не виндоуз-формалист, так что даже и пытаться не буду ... :) .. я по вебу ...
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38187912
Гаджет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Человек, который писал этот пример сказал строка подключения зависит от того где создан dbf. у меня создан в foxpro он сказал типа такой должна быть строка подключения

Conn.ConnectionString = "Dsn=C:\\";

но все равно ошибка выдается
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38188153
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджет,

в соседней ветке человек занимается подобной задачей (т.е. читает-пишет в ДБФ из Си-шарпа)
14049938

...он там использует ОлеДБ драйвер, спросите там ... Потому что DSN нужно руками создавать, прежде чем на него ссылаться ...
...
Рейтинг: 0 / 0
Запись в БД информации из веб-сервиса
    #38188972
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда уже закончится этот архаизм с DBF-ми в гос учреждениях - совок одним словом.
Я еще в 2002 году работал программером при управлении здравоохранения в своем маленьком городе - и та же песня была с этими DBF-ми. За 10 лет нечего не поменялось оО.
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Запись в БД информации из веб-сервиса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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