Я использую C# для создания приложения формы Windows. Как создать таблицу локальной базы данных для сохранения данных, описанных ниже? В настоящее время моя таблица данных состоит из столбцов «inv_Id», «Item_Id» и «количество». Я знаю, что мне нужно создать столбцы для хранения каждого элемента данных ниже, но я не знаю, как структурировать таблицу.Сохраните данные для заказа в локальной базе данных
- пункт = {стул, стол, ручки, флэшки}
- Цена = {} 5,10,2,48
- субтотальная
- налог
- общая
I Я новичок на C#. Я сделал поиск по этому вопросу и нашел такие вещи, как например. https://www.youtube.com/watch?v=I5qvyyhUKfY
Данные представлены в списке и выглядит следующим образом:
Заказанный товара: стул Цена: $ 5.00
Заказанный товара: стол Цена: $ 10,00
Заказанный товара: ручка Цена: $ 2,00
Заказанный товар: флэшки Цена: $ 48,00Итого: $ 65,00 НДС: $ 3,90 Итого: $ 68,90
Цель - создать счет-фактуру, а затем сохранить его в базе данных после вычисления всего.
Вот код, который я получаю, данные загружают данные из db в выпадающий список (для того, чтобы пользователь мог выбрать, какой элемент они хотят купить), тогда (cust, выбранный элемент будет указан в спискеOuput для вычисления) пользователь выберет элемент, затем в окне списка отобразится выбранный вывод и рассчитайте общее количество, например, квитанцию.
После вычисления, я хочу сохранить все данные в поле списка ввода для моего db, но у меня проблема здесь.
Проблема: я не знаю, как переместить все мои данные из списка в базу данных и связать их вместе в структуре.
public partial class Select_Item : Form
{
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\oo\Documents\Data.mdf;Integrated Security=True;Connect Timeout=30");
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
public struct Orders
{
public string item;
public double price;
}
const double TAX=0.06;
Orders order = new Orders();
static double subtotal=0;
static double totalTaxes=0;
static double total;
string finalBill = "FINAL BILL: \n";
public Select_Item()
{
InitializeComponent();
}
private void getValues(string custOrder)
{
order.item = custOrder;
String a = comboBox1.Text;
order.price = Convert.ToDouble(custOrder);
listOutput.Items.Add("Price: " + order.price);
finalBill += "Ordered Item: " + a + "\nPrice: " + order.price.ToString("C2") + "\n";
updateBill();
}
private void updateBill()
{
subtotal += order.price;
total += order.price + (order.price * TAX);
totalTaxes += order.price * TAX;
listOutput.Items.Clear();
listOutput.Items.AddRange(finalBill.Split('\n'));
listOutput.Items.Add("Subtotal:" + subtotal.ToString("C2"));
listOutput.Items.Add("Tax:" + totalTaxes.ToString("C2"));
listOutput.Items.Add("Total:" + total.ToString("C2"));
}
private void dropdownSelection(object sender, EventArgs e)
{
if (sender == comboBox1)
System.Diagnostics.Debug.WriteLine("test " + comboBox1.SelectedValue.ToString());
getValues(comboBox1.SelectedValue.ToString());
}
Отредактировано Код:
private void StoreData()
{
int invoiceID;
using (var con1 = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\choo\Documents\Data.mdf;Integrated Security=True;Connect Timeout=30"))
{
con.Close();
con.Open();
using (var cmd = con.CreateCommand())
{
cmd.CommandText = @"insert into Invoice(subtotal,tax,total) values (@subtotal,@tax,@total); select SCOPE_IDENTITY() as InvoiceID;";
cmd.Parameters.AddWithValue("@subtotal", subtotal);
cmd.Parameters.AddWithValue("@tax", tax);
cmd.Parameters.AddWithValue("@total", total);
using (var reader = cmd.ExecuteReader())
{
if (reader.Read())
invoiceID = (int)reader["InvoiceID"];
}
}
foreach (var item in OrderItems.Rows)
{
using (var cmd = con.CreateCommand())
{
cmd.CommandText = @"insert into InvoiceItem(invoiceID,Item_Id,quantity) values (@invoiceID,@Item_Id,@quantity);";
// cmd.Parameters.AddWithValue("@InvoiceID", invoiceID);
cmd.Parameters.AddWithValue("@invoiceID", Convert.ToInt32("invoiceID"));
cmd.Parameters.AddWithValue("@Item_Id", Convert.ToInt32("Item_Id"));
cmd.Parameters.AddWithValue("@quantity", Convert.ToInt32("quantity"));
cmd.ExecuteNonQuery();
}
}
}
}
Я отредактировали questi чтобы указать, что вы сохраняете данные в базе данных SQL. Это звучит так, как будто это так, но если вы не используете SQL, отредактируйте свой вопрос, чтобы сказать, как вы храните данные. Кроме того, я не уверен, что вы спрашиваете только о том, как структурировать таблицу SQL, а также о том, как перемещать данные внутри приложения winforms. Не могли бы вы объяснить немного больше? –