Witam,
Parę lat temu przeszedłem kurs z C# na studiach, jeden semestr, był to zajęcia w konsoli, teraz wróciłem do C#, zgłębiam WPF. Mam pewien pomysł na aplikację z użyciem SQL. Jako, że jestem w tym zielony skorzystałem z tutoriala dostępnego w sieci.
Na tutorialu używana jest komenda:
sqlCmd.CommandType =.CommandType.StoredProcedure;
u mnie kompilator nakazuję dodanie przed System.Data....
Wywnioskowałem ze ta własnie linijka jest odpowiedzialna za pokazanie błędu "Could not find stored procedure "
Niżej załączam moje kody źródłowe
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.SqlClient;
namespace nowa_
{
/// <summary>
/// Logika interakcji dla klasy MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
SqlConnection sqlCon = new SqlConnection(@"Data Source = (localdb)\MSSQLLocalDB");
public MainWindow()
{
InitializeComponent();
}
private void DODAJ_Click(object sender, RoutedEventArgs e)
{
try
{
if (sqlCon.State == System.Data.ConnectionState.Closed)
sqlCon.Open();
SqlCommand sqlCmd = new SqlCommand("UbraniaDodajAlboEdytuj", sqlCon);
sqlCmd.CommandType =System.Data.CommandType.StoredProcedure;
sqlCmd.Parameters.AddWithValue("@mode", "dodaj");
sqlCmd.Parameters.AddWithValue("@Id", "0");
sqlCmd.Parameters.AddWithValue("@TYP", TYP_TXT.Text.Trim());
sqlCmd.Parameters.AddWithValue("@KOLOR", KOLOR_TXT.Text.Trim());
sqlCmd.Parameters.AddWithValue("@ROZMIAR", ROZMIAR_TXT.Text.Trim());
sqlCmd.Parameters.AddWithValue("@MARKA", MARKA_TXT.Text.Trim());
sqlCmd.Parameters.AddWithValue("@OPIS", OPIS_TXT.Text.Trim());
sqlCmd.Parameters.AddWithValue("@CENA","0");
sqlCmd.Parameters.AddWithValue("@CENA_RZ","0");
sqlCmd.Parameters.AddWithValue("@NR_SERYJNY", NR_SERYJNY_TXT.Text.Trim());
// sqlCmd.Parameters.AddWithValue("@SPRZEDANE", SPRZEDANE);
sqlCmd.ExecuteNonQuery();
MessageBox.Show("Zapisano Poprawnie");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "bład 69");
}
finally
{
sqlCon.Close();
}
}
}
}
stored procedure
CREATE PROCEDURE [dbo].UbraniaDodajAlboEdytuj
@mode nvarchar(10),
@Id int,
@TYP nvarchar(50),
@ROZMIAR nvarchar(50),
@MARKA nvarchar(50),
@OPIS nvarchar(50),
@CENA int,
@CENA_RZ int,
@NR_SERYJNY nvarchar(50),
@SPRZEDANE int
AS
IF @mode='dodaj'
BEGIN
INSERT INTO tbl_ubrania
(
TYP,
ROZMIAR,
MARKA,
OPIS,
CENA,
CENA_RZ,
NR_SERYJNY,
SPRZEDANE)
VALUES
(
@TYP,
@ROZMIAR,
@MARKA,
@OPIS,
@CENA,
@CENA_RZ,
@NR_SERYJNY,
@SPRZEDANE
)
END
Jeśli ten tutorial i takie podejście jest nie poprawne to prosił bym o jakiś tutorial/książkę o tworzeniu aplikacji w WPF z baza danych.