Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 36

Занести данные в таблицу

22.07.2013, 09:22. Показов 2658. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Появился новый вопрос: есть текстбоксы на форме, у них тип данных varchar, как мне преобразовать эти данные таким образом, чтобы занести в табличку с полями real?
 Комментарий модератора 
Одна тема - один вопрос
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.07.2013, 09:22
Ответы с готовыми решениями:

Как занести новые данные в таблицу с помощью адаптера
Здравствуйте. Есть база с двумя таблицами. База подключена к проекту с помощью мастера. Как занести новые данные в таблицу с помощью...

Как занести данные в БД из DataGridView?
И вот еще вопрос, как сне сделать так, чтобы данные заносились в бд? con2.Open(); SqlDataAdapter sda2 = new...

Как занести данные с DataGridView в Access
Всем доброго дня! Вот как-то так у меня заполняется DataGridView данными void Get_Results () // метод для записи результатов в таблицу ...

24
16 / 16 / 2
Регистрация: 17.02.2012
Сообщений: 104
22.07.2013, 09:49
Цитата Сообщение от sgmk Посмотреть сообщение
Появился новый вопрос: есть текстбоксы на форме, у них тип данных varchar, как мне преобразовать эти данные таким образом, чтобы занести в табличку с полями real?
C#
1
2
double a;
a = convert.todouble(textbox.text);
или toreal если такое есть

Добавлено через 17 минут
real в c# это, вроде бы, decimal.
так что, если хочешь подстраховаться на случай переполнения - попробуй Convert.ToDecimal
1
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 36
22.07.2013, 09:51  [ТС]
Цитата Сообщение от TugRRRa Посмотреть сообщение
или toreal если такое есть
toreal к сожалению нет, но todouble вроде работает
но теперь есть другая проблемка... посмотрите вложение, может я просто туплю гденить? а то на жаре мозг уже совсем раскис
Миниатюры
Занести данные в таблицу  
0
16 / 16 / 2
Регистрация: 17.02.2012
Сообщений: 104
22.07.2013, 09:54
Но и это еще не все. Тебе нужно ловить мусор... Иначе борода... [в смысле краш, или эксепшн]
Мусор вида:
"," разделитель вместо "." (или наоборот)
буквы
символы №;%" и т. д.
Повторяющиеся разделители (1,6588,54)

Добавлено через 2 минуты
Цитата Сообщение от sgmk Посмотреть сообщение
toreal к сожалению нет, но todouble вроде работает
но теперь есть другая проблемка... посмотрите вложение, может я просто туплю гденить? а то на жаре мозг уже совсем раскис
колонки, в которые вставляешь значения укажи явным образом
1
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 36
22.07.2013, 10:15  [ТС]
явное описание колонок не помогло.. или может просто я неправильно описал?
Кликните здесь для просмотра всего текста
SQL
1
"INSERT INTO metall (Mn, Si, S, P, Fe) VALUES ('@Mn','@Si','@S','@P','@Fe')"
1
16 / 16 / 2
Регистрация: 17.02.2012
Сообщений: 104
22.07.2013, 10:19
Без '@Mn' попробуй, не помню точно, но, вроде бы, числовые данные так. без одинарных ковычек в смысле
1
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 36
22.07.2013, 10:24  [ТС]
когда убираю кавычки, пишет: Необходимо объявить скалярную переменную "@Mn".
0
 Аватар для BigOblom
124 / 124 / 17
Регистрация: 30.06.2010
Сообщений: 478
22.07.2013, 13:44
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public string connectionString = "Data Source = 'DB.sdf'";
public void AddBrand(string brandName)
{
    try
    {
        SqlCeEngine engine = new SqlCeEngine(connectionString);
        SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
        connection.Open();
        SqlCeCommand command = connection.CreateCommand();
        command.CommandText = "INSERT INTO brand (brand_name) VALUES (?)";
        command.Parameters.Add("brand_name", brandName);
        command.ExecuteScalar();
        connection.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
        return;
    }
}
Вместо SqlCe (Sql server compact) у вас будет просто Sql.
0
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 36
23.07.2013, 06:03  [ТС]
BigOblom, я может чтото не подкючил, но но у меня нет автоподстановке SqlEngine
0
 Аватар для BigOblom
124 / 124 / 17
Регистрация: 30.06.2010
Сообщений: 478
23.07.2013, 06:29
Цитата Сообщение от sgmk Посмотреть сообщение
BigOblom, я может чтото не подкючил, но но у меня нет автоподстановке SqlEngine
Библиотеку Sql подключить нужно.

Добавлено через 10 минут
Хотя я не помню, есть ли Engine у обычного SQL.
0
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 36
23.07.2013, 06:32  [ТС]
Подключено:
C#
1
2
using System.Data.SqlClient;
using System.Data.Sql;
Все равно не появляется
0
 Аватар для BigOblom
124 / 124 / 17
Регистрация: 30.06.2010
Сообщений: 478
23.07.2013, 07:12
Вот глянь тут
1
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 36
23.07.2013, 07:44  [ТС]
Цитата Сообщение от BigOblom Посмотреть сообщение
Вот глянь тут
Спасибо, но ничего путнего там не нашел. Само подключение уже реализованно, проблема теперь стоит в том, как передать в запросе значения переменных для записи
0
 Аватар для BigOblom
124 / 124 / 17
Регистрация: 30.06.2010
Сообщений: 478
23.07.2013, 07:53
Цитата Сообщение от sgmk Посмотреть сообщение
Спасибо, но ничего путнего там не нашел. Само подключение уже реализованно, проблема теперь стоит в том, как передать в запросе значения переменных для записи
Так я же это уже показывал. Создаешь процедуру, в которой передаешь значения, которые необходимо вставить. В самой процедуре подключаешься к бд, вставляешь записи и отключаешься.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public void AddItem(string _itemName, int _itemSize)
{
    try
    {
        Твое подключение
        connection.Open();
        SqlCommand command = connection.CreateCommand();
        command.CommandText = "INSERT INTO Items (ItemName, ItemSize) VALUES (?,?)";
        command.Parameters.Add("ItemName", _itemName);
        command.Parameters.Add("ItemSize", _itemSize);
        command.ExecuteScalar();
        connection.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
        return;
    }
}
И используешь процедуру в коде
C#
1
AddItem("Кроссовки РИТА",42)
1
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 36
23.07.2013, 08:09  [ТС]
C#
1
AddItem("Кроссовки РИТА",42)
Что значит 42?
у меня есть 10 переменных, которые по клику на бАттон должны записаться в базюку. Тоетсь на это событие мне нужно 10 раз вызвать AddItem?
0
 Аватар для BigOblom
124 / 124 / 17
Регистрация: 30.06.2010
Сообщений: 478
23.07.2013, 08:13
Это пример если что. Я не ясновидящий, чтобы увидеть структуру твоей таблицы. Для передачи 10 переменных сделай свой запрос на добавление записей и в процедуру передавай 10 значений, которые должны быть добавлены в таблицу.
1
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 36
23.07.2013, 08:55  [ТС]
Собстна сделал так:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SqlCommand command = connection.CreateCommand();
                command.CommandText = "INSERT INTO metall (Mn, Si, S, P, Fe) VALUES (?,?,?,?,?)";
                //command.CommandText = "INSERT INTO metall (Mn) VALUES (?)";
                command.Parameters.Add("Mn", _Mn);
                command.Parameters.Add("Si", _Si);
                command.Parameters.Add("S", _S);
                command.Parameters.Add("P", _P);
                command.Parameters.Add("Fe", _Fe);
                command.ExecuteScalar();
                connection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;            
            }

Вызов в теле:
C#
1
 ItemAdd_Zhel(Convert.ToDouble(textBox2.Text),Convert.ToDouble(textBox3.Text),Convert.ToDouble(textBox4.Text),Convert.ToDouble(textBox5.Text),Convert.ToDouble(textBox5.Text));
Эксепшен ругается на неверную конструкцию перед "?"

Решил остаавить только 1 пареметр. Тогда все вроде проходит успешно, но запись в базюке не появляется.
0
 Аватар для BigOblom
124 / 124 / 17
Регистрация: 30.06.2010
Сообщений: 478
23.07.2013, 09:02
А заголовок процедуры как выглядит?
C#
1
2
3
4
public void MetallAdd(double _Mn, double _Si, double _S, double _P, double _Fe)
{
    ...
}
0
1 / 1 / 0
Регистрация: 17.07.2013
Сообщений: 36
23.07.2013, 09:06  [ТС]
Цитата Сообщение от BigOblom Посмотреть сообщение
А заголовок процедуры как выглядит?
C#
1
2
3
4
public void MetallAdd(double _Mn, double _Si, double _S, double _P, double _Fe)
{
    ...
}
Ага, именно так:
C#
1
public void ItemAdd_Zhel(double _Mn, double _Si, double _S, double _P, double _Fe)
0
 Аватар для BigOblom
124 / 124 / 17
Регистрация: 30.06.2010
Сообщений: 478
23.07.2013, 09:13
Попробуйте это же выполнить в Sql Management Studio.
Только вместо вопросов значения, которые у вас занесены в текстбоксы.
SQL
1
INSERT INTO metall (Mn, Si, S, P, Fe) VALUES (?,?,?,?,?)
Скорее всего проблема в том, что дробная часть отделяется так же запятой, как и перечисление значений в запросе на вставку. И получается так
SQL
1
INSERT INTO metall (Mn, Si, S, P, Fe) VALUES (5,5, 1,2, 8,7, 3,3, 4,7)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.07.2013, 09:13
Помогаю со студенческими работами здесь

Как занести данные полей из базы в TextBox
Помогите пожалуйста занести данные полей из базы в TextBox. База на основе оле.

Занести данные в другую таблицу
привет всем. у меня такой вопрос???????????? у меня в таблице есть два поля: 1 (дата возврата) и 2 (фактическая дата возврата). можно...

Занести данные во ременную таблицу
Здравствуйте, помогите пожалуйста, я не давно работаю в SQL, создал запрос, который заносит данные во временную таблицу, т.е. должно быть...

Занести данные из запроса в таблицу
Вопрос такой. Можно ли как-нибудь из запроса(запрос на подсчет данных) занести данные в таблицу? т.е. я посчитано количество книг у каждого...

Как занести данные в таблицу?
Добрый вечер! Помогите пожалуйста! как занести данные в таблицу с помощью JavaScript или JQuery Есть такие поля куда вводятся ФИО и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru