Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Oledb update greska

[es] :: .NET :: Oledb update greska

[ Pregleda: 1459 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

aleksacyber
Aleksandar Pavlovic
Radnik
Bosna i Hercegovina

Član broj: 198141
Poruke: 22
79.143.169.*



+3 Profil

icon Oledb update greska17.01.2010. u 13:51 - pre 173 meseci
Code (csharp):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication4
{
    public partial class Form1 : Form
    {
        private int rad;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Start();
        }

        private void Start()
        {
            OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=C:\\ProZRS\\PracenjeDoc\\pdoc_t.mdb");
            OleDbCommand cmd = new OleDbCommand("Select * From tblPrioritet", cn);
            OleDbDataAdapter da = new OleDbDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds, "tblPrioritet");
            grid1.DataSource = ds.Tables[0].DefaultView;
            rad = 1;

        }

        private void Novi()
        {
            OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=C:\\ProZRS\\PracenjeDoc\\pdoc_t.mdb");
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = cn;
            cmd.CommandText = "Insert into tblPrioritet Values (@PrioritetID, @Prioritet, @Od, @Do)";
            cmd.Parameters.Add("@PrioritetID", OleDbType.Integer);
            cmd.Parameters.Add("@Prioritet", OleDbType.VarChar,10);
            cmd.Parameters.Add("@Od", OleDbType.Integer);
            cmd.Parameters.Add("@Do", OleDbType.Integer);
            cmd.Parameters["@PrioritetID"].Value = mm();
            cmd.Parameters["@Prioritet"].Value = txt2.Text.ToUpper();
            cmd.Parameters["@Od"].Value = int.Parse(txt3.Text);
            cmd.Parameters["@Do"].Value = int.Parse(txt4.Text);
            cn.Open();
            cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();
            cn.Close();            
        }

        private void Apdejt()
        {
            OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=C:\\ProZRS\\PracenjeDoc\\pdoc_t.mdb");
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = cn;
            cmd.CommandText = "Update tblPrioritet set Prioritet=@Prioritet, Od=@Od, Do=@Do Where PrioritetID=@PrioritetID";
            cmd.Parameters.Add("@PrioritetID", OleDbType.Integer);
            cmd.Parameters.Add("@Prioritet", OleDbType.VarChar,10);
            cmd.Parameters.Add("@Od", OleDbType.Integer);
            cmd.Parameters.Add("@Do", OleDbType.Integer);
            cmd.Parameters["@PrioritetID"].Value = txt1.Text;
            cmd.Parameters["@Prioritet"].Value = txt2.Text.ToUpper();
            cmd.Parameters["@Od"].Value = int.Parse(txt3.Text);
            cmd.Parameters["@Do"].Value = int.Parse(txt4.Text);
            cn.Open();
            cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();
            cn.Close();
        }

        private void Brisi()
        {
            OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=C:\\ProZRS\\PracenjeDoc\\pdoc_t.mdb");
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = cn;
            cmd.CommandText = "Delete From tblPrioritet Where PrioritetID=@PrioritetID";
            cmd.Parameters.Add("@PrioritetID", OleDbType.Integer);
           
            cmd.Parameters["@PrioritetID"].Value = txt1.Text;
           
            cn.Open();
            cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();
            cn.Close();
        }

        private int mm()
        {
            OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=C:\\ProZRS\\PracenjeDoc\\pdoc_t.mdb");
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = cn;
            cmd.CommandText = "Select Max(PrioritetID) from tblPrioritet";
            cn.Open();
            int i = (int)cmd.ExecuteScalar() + 1;
            cn.Close();
            return i;
        }

        private void grid1_SelectionChanged(object sender, EventArgs e)
        {
            Red();
        }

        private void Red()
        {
            int i = grid1.CurrentRow.Index;

            txt1.Text = grid1[0, i].Value.ToString();
            txt2.Text = grid1[1, i].Value.ToString();
            txt3.Text = grid1[2, i].Value.ToString();
            txt4.Text = grid1[3, i].Value.ToString();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            foreach (Control c in this.Controls)
            {
                if (c.GetType().ToString() == "MKON.TXT")
                {
                    c.Text = string.Empty;
                }
            }

            rad = 2;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (rad == 1)
            {
                Apdejt();
            }
            else if (rad == 2)
            {
                Novi();
            }
            Start();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Brisi(); Start();
        }

    }
}



file:///C:/Documents%20and%20Settings/BJ/Desktop/greska_update.JPG


Stvarno ne znam zasto nece.


[Ovu poruku je menjao Shadowed dana 17.01.2010. u 17:36 GMT+1]
alexa
Prikačeni fajlovi
 
Odgovor na temu

aleksacyber
Aleksandar Pavlovic
Radnik
Bosna i Hercegovina

Član broj: 198141
Poruke: 22
79.143.169.*



+3 Profil

icon Re: Oledb update greska17.01.2010. u 13:54 - pre 173 meseci
Zaboravio sam napisati da Insert, Delete rade, a update ni da cuje.
alexa
 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
*.dynamic.sbb.rs.

Sajt: www.2advanced.com


Profil

icon Re: Oledb update greska17.01.2010. u 14:49 - pre 173 meseci
probaj ovo cmd.Parameters["@PrioritetID"].Value = int.Parse(txt1.Text);

pokusaj i uraditi update bez upotrebe parametara.

cmd.CommandText = "Update tblPrioritet set Prioritet='bla bla', Od=1, Do=2 Where PrioritetID=01";

 
Odgovor na temu

aleksacyber
Aleksandar Pavlovic
Radnik
Bosna i Hercegovina

Član broj: 198141
Poruke: 22
188.124.196.*



+3 Profil

icon Re: Oledb update greska17.01.2010. u 15:24 - pre 173 meseci
Zamijenio update string sa ovim:

cmd.CommandText = "Update tblPrioritet set PrioritetID=@PrioritetID, Prioritet=@Prioritet, Od=@Od, Do=@Do Where PrioritetID=@PrioritetID";

i radi. Svasta, pa bas moram da podeim i polje koje ne apdejtujem u sql upitu. U ovom slucaju PrioritetID.


Jos jedno pitanje, kada ovako prosledjujem vrijednosti parametrima, onda ne moram da pazim kakvi su, int, datetime ...., posto sam odredio u parametru sta je u pitanju.

cmd.Parameters["@PrioritetID"].Value = txt1.Text;

ne moram da pisem int.parse(txt1.Text), ako sam dobro razumio ove parametre, tako isto sa datumom i drugim tipovima?
alexa
 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
*.dynamic.sbb.rs.

Sajt: www.2advanced.com


Profil

icon Re: Oledb update greska17.01.2010. u 18:24 - pre 173 meseci
ne moras da uneses svako polje kod SQL Update problem su parametri valjda kod oledb on ih ne poziva po imenu nego po redosledu po kome su dodati, npr sad kad bi zamijenio redosled parametara u Update-u opet bi dobio gresku (imao je neko skoro isti problem sorry sto se ne sjetih ranije).

[Ovu poruku je menjao malo_nj dana 17.01.2010. u 19:37 GMT+1]
 
Odgovor na temu

aleksacyber
Aleksandar Pavlovic
Radnik
Bosna i Hercegovina

Član broj: 198141
Poruke: 22
79.143.171.*



+3 Profil

icon Re: Oledb update greska17.01.2010. u 20:58 - pre 173 meseci
Hvala malo_nj. U svako slucaju radi. Pozz
alexa
 
Odgovor na temu

[es] :: .NET :: Oledb update greska

[ Pregleda: 1459 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.