Jak vytvorit databazi?   otázka

VB.NET

Zdravim vsechny,

Jsem zacatecnik a potreboval bych v programu vytvorit databazi v ni tabulky a sloupce. Jak na to? Kdyby byl nekdo tak moc hodny a napsal sem kousek kodu. Predem dekuji.

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

Ahoj, předpokládám, že děláš ve Visual Studiu. Tam je situace trochu jiná, databáze se nevytváří přímo kódem, ale buď přímo ve VS a nebo za pomoci SQL Server Managementu...

Toto ti pomůže - http://msdn.microsoft.com/en-us/library/...

Pokud neumíš anglicky, hoď si to do nějakého překladače ;)

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

Omlouvám se, nevšimml jsem si, že to chcete pro normální aplikaci, v tom případě vám pomůže toto: http://msdn.microsoft.com/en-us/library/...

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

Tu je príklad ako vytvoriť databázu MSAcces pomocou kódu.

Do projektu je nutne pridat referenciu na kniznicu dao.dll

Private Sub Vytvor_mdb()
        'Ulozi subor na vybrane miesto
        Dim dialog As New SaveFileDialog
1:      dialog.AddExtension = True
        dialog.CheckFileExists = False
        dialog.OverwritePrompt = False
        dialog.Title = "Ulož súbor..."
        dialog.Filter = "(*.mdb*)|*.mdb*"
        dialog.DefaultExt = ".mdb"
        dialog.FileName = ""
        Dim dialog_odpoved = dialog.ShowDialog()
        My.Application.DoEvents()
        If dialog_odpoved = DialogResult.OK Then
            'Kontrola existencie suboru
            If File.Exists(dialog.FileName) = False Then
                btn_vytvor.Cursor = Cursors.WaitCursor
                'Vytvorenie prazdneho suboru mdb s koncovkou .mdb
pokračuj:       Dim db As dao.Database
                Dim f As dao.Field
                Dim td As dao.TableDef
                Dim dbe As New dao.DBEngine
                'Nastavi heslo ak je zadane
                If txt_heslo.Text <> "" Then
                    db = dbe.CreateDatabase(dialog.FileName, dao.LanguageConstants.dbLangGeneral & ";pwd=" & txt_heslo.Text)
                Else
                    db = dbe.CreateDatabase(dialog.FileName, dao.LanguageConstants.dbLangGeneral, False)
                End If
                'Vytvorenie jednotlivych tabuliek
                'Tabulka nacitaneho zoznamu odbernych miest
                td = db.CreateTableDef("tab_Zoznam_odb_miest")
                'Vytvorenie poly
                f = td.CreateField("ID", dao.DataTypeEnum.dbLong)
                f.Attributes = dao.FieldAttributeEnum.dbAutoIncrField
                td.Fields.Append(f)
                f = td.CreateField("Memo", dao.DataTypeEnum.dbMemo)
                f.AllowZeroLength = True
                td.Fields.Append(f)
                f = td.CreateField("Text", dao.DataTypeEnum.dbText, 255)
                f.AllowZeroLength = True
                td.Fields.Append(f)
                f = td.CreateField("Integer", dao.DataTypeEnum.dbInteger)
                f.Required = False
                td.Fields.Append(f)
                f = td.CreateField("Datum", dao.DataTypeEnum.dbDate)
                td.Fields.Append(f)
                db.TableDefs.Append(td)
                btn_vytvor.Cursor = Cursors.Hand
                db.Close()
                dbe = Nothing
                td = Nothing
                db = Nothing
                MsgBox("Súbor bol vytvorený.", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "Správa...")
            Else
                Dim sprava As MsgBoxResult
                sprava = MsgBox("Súbor " + vbNewLine + dialog.FileName + vbNewLine + "existuje. Chcete ho prepísať?", MsgBoxStyle.YesNo + MsgBoxStyle.Exclamation, "Správa...")
                If sprava = MsgBoxResult.Yes Then
                    'Ak sa ma existujuci subor prepisat
                    File.Delete(dialog.FileName)
                    GoTo pokračuj
                Else
                    'Ak sa nema existujuci subor prepisat
                    GoTo 1
                End If

            End If
            End If
    End Sub

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

To je velmi nehezky napsaná metoda. Obzvlášť bije do očí GoTo "návěští". Ve VB.NET opravdu není potřeba programovat stejným způsobem jako v assembleru. Omlouvám se za rýpání, ale tohle jsem nemohl nechat bez reakce, kromě toho by tazatel mohl získat pocit, že takto má vypadat správně napsaný kód. NEMÁ!

nahlásit spamnahlásit spam 1 / 1 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