Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как добавить запись на сервер / 4 сообщений из 4, страница 1 из 1
16.12.2004, 15:44
    #32830631
-ноль-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить запись на сервер
Доброе время суток.
Есть таблица на сервере. Вней два поля:
Test_GetValut
F1 varchar(50)
F2 decimal

OleDbConnection Connection;
string StrConnect = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist...
Connection = new OleDbConnection(StrConnect);
Connection.Open();
....
Вот тут получаю данные:
System.Data.DataRow row_val;
System.Data.DataTable tbl_val = this.val_ds.Tables["ValuteCursDynamic"];
row_val = tbl_val.Rows[0];
string val_name=(string)row_val.ItemArray.GetValue(1);
val_name=val_name.Trim();
decimal v_summ=(decimal)row_val.ItemArray.GetValue(3);
string str_valsum = System.Convert.ToString(v_summ);

Если сделать 2 поля символьные то такая команда выполняется нормально
OleDbCommand Command =
new OleDbCommand("INSERT INTO Test_GetValut(F1, F2) VALUES("+"'"+val_name+"'"+","+"'"+v_summ+"'"+")", Connection);

В отладчике такая строка добавления выглядит так:
"INSERT INTO Test_GetValut(F1, F2) VALUES('R01239', '37,2072' )"
Command.ExecuteNonQuery() выполняется и записи добавляются

Если же F2 сделать decimal и записать
OleDbCommand Command =
new OleDbCommand("INSERT INTO Test_GetValut(F1, F2) VALUES("+"'"+val_name+"'"+", "+ str_valsum +")", Connection);
В отладчике такая строка добавления выглядит так:
"INSERT INTO Test_GetValut(F1, F2) VALUES('R01239', 37,2072 )"
то Command.ExecuteNonQuery() не хочет добавлять данные и ругается.

Может нужно 37.2072 а не 37,2072, в таком случае как привести
decimal к такому виду String.
...
Рейтинг: 0 / 0
16.12.2004, 18:19
    #32831104
Serg****
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить запись на сервер
Нужно вместо разделитя ',' поставить разделитель '.'
...
Рейтинг: 0 / 0
16.12.2004, 18:20
    #32831108
Serg****
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить запись на сервер
-ноль-
Может нужно 37.2072 а не 37,2072, в таком случае как привести
decimal к такому виду String.

ToString().Replace(",",".");
...
Рейтинг: 0 / 0
17.12.2004, 10:28
    #32831689
Por
Por
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить запись на сервер
А что мешает правильно описать команду?

Код: plaintext
1.
2.
3.
4.
OleDbCommand Command = new OleDbCommand("INSERT INTO Test_GetValut(F1, F2) VALUES(@Param1,@Param2)", Connection);
Command.Parameters.Add("@Param1", OleDbType.VarChar, 50).Value = val_name;
Command.Parameters.Add("@Param2", OleDbType.Decimal).Value = v_summ;

Command.ExecuteNonQuery()
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как добавить запись на сервер / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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