Vykonání příkazu pro databázi   zodpovězená otázka

VB.NET, SQL, Databáze

Zdravím,

píšu si aplikace ve VB.NET a narazil jsem na problém.

Snažím se k aplikaci připojit databázi, ale nějak se mi nechtějí vykonávat některé příkazy.

Dim pripojeni As New SqlConnection(Kavarna.My.Settings.KavarnaConnectionString)

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        pripojeni.Open()
        Dim cmd As New SqlCommand("UPDATE Sklad SET cukr = 1")
        cmd.Connection = pripojeni
        'Button1.Text = cmd.ExecuteScalar
        cmd.ExecuteNonQuery()
        pripojeni.Close()
    End Sub

Nehce mi to vzít příkazy typu UPDATE, INSERT a DELETE. Kód jinak funguje v pořádku bez chyb.

Jsou to moje první pokusy s databázema, takto u aplikací a vycházím ze znalostí, co používám při tvorbě webových aplikací.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Hází to nějakou specifickou chybu, nebo to prostě neudělá nic? Kde máte databázi uloženou? Máte k databázi oprávnění pro zápis?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Chybu to neudělá žádnou a příkazy typu SELECT normálně fungují. Databázi jsem vyytvořil tak, že jsem ve Visual Studiu přidal do projektu novou Item a dál jsem s ní již nic nedělal, krom vytvoření tabulek. Kde se nastavuje oprávnění?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud je databáze na MS SQL Serveru, pak použitjte SQL Server Management Studio a testujte dotazy nejprve tam, než je vložíte do kódu programu. V této aplikaci lze též nastavit vše potřebné od definic tabulek, sloupců, primárních a cizích klíčů, omezení, uživatelů, opravnění apod. Pokud se jedná o jinou DB, bude mít též k dispozici nějaké rozhraní pro její administraci.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Už se mi to asi podařilo rozchodit. Díky za rady.

Měl bych ale ještě jednu otázku.

Když aplikaci dodělám a výsledná .exe soubor společně se souborem database.mdf nahraji na jiný počítač, kde není SQL Server ani Visual Studio. Bude šlapat spojení s databazí? Nebo mám zvolit jinou metodu pro ukládáná dat?

Takto vypadá můj connectionString

    <connectionStrings>
       <add name="Kavarna.My.MySettings.KavarnaConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Kavarna.mdf;Integrated Security=True;User Instance=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

Myslím si, že při tomto způsobu je nezbytné SQL Server na PC, nebo to tak není? Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Při tomto způsobu je vážně nutné, aby byl na počítači SQL Server - nebo aby se z aplikace přistupovalo někam na server, nemusí to být localhost (i když teď si nejsem jist, zda to funguje i u MSSQL Express, ale myslím, že ano).

Jinak Visual Studio tam samozřejmě nemusí být, nutností je pouze .NET Framework x.x.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback