[ cinderella1264 @ 20.04.2009. 16:15 ] @
Da vam objasnim problem najbolje sto mogu, nadam se da cu uspeti.
Imam tabelu Kategorije koja ima id_kategorije i naziv_kategorije i tabelu Artikli koja ima id_artikli, id_kategorije i naziv.
Imam formular koji ima DropDownList-u koja sadrzi nazive kategorija i txtbox u koje treba da se upise naziv artikla. To hocu da upisem u tabelu Artikli.
E, sada na osnovu naziva kategorije sa select dolazim do id_kategorije. Problem je sto nakon tog upita ja ne znam kako da uzmem taj ID i smestim ga u tabelu Artikli, zato sam u kodu stavila one tacke, buni me ovo sa komanda.ExecuteReader() jer to stavljam kada koristim select, a u istom imam i Insert...
U sustini hocu da preuzmem id iz jedne tabele da bih ga upisala u drugu, da li neko moze da mi pomogne????

Hvala u napred!

Code:

protected void Button1_Click(object sender, EventArgs e)
    {
        string artikal = tb_artikal.Text.Trim();
        string kategorija = DropDownList1.SelectedItem.ToString();
        SqlDataReader r = null;

        string podaci = WebConfigurationManager.ConnectionStrings["prodajaConnectionString"].ConnectionString;
        SqlConnection konekcija = new SqlConnection(podaci);
        SqlCommand komanda = new SqlCommand();
        komanda.Connection = konekcija;

        string upit = "select id_kategorije from kategorije where naziv='" + kategorija + "'";

        komanda.CommandText = upit;

        r = komanda.ExecuteReader();

        .
        .
        .
        .
        .
        .

        string tekst = "INSERT INTO Artikli VALUES ('" + id_kategorije + "', '"+artikal+"')";
        
    }




Ovo je samo deo koda, jer mi mnogo toga fali pa nisam mogla bolje da vam predstavim problem.
[ Prokleta_Nedelja @ 21.04.2009. 07:01 ] @
Najbolje ti je da koristis ovako:

DropDownList1 svojstvo DataText stavi da je naziv_kategorije a DataValue stavi id_kategorije, zatim evo koda

Code:

protected void Page_Load(object sender,EventArgs e)
{
if(IsPostBack==false)
{
PuniDropDownListu();
}

}


private void PuniDropDownListu()
{
SqlConnection veza=new SqlConnection("konekcioni string");
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM kategorije",veza);
DataTable dt = new DataTable();
try
{
da.Fill(dt);
DropDownList1.DataSource=dt;
DropDownList1.DataBind();
}
catch (SqlException ex)
{
Response.Write(ex.Message);
}

}

protected void Button1_Click(object sender, EventArgs e)
    {
        string artikal = tb_artikal.Text.Trim();
        string kategorija = DropDownList1.SelectedValue;
        string sql= "INSERT INTO Artikli VALUES ('" + kategorija  + "', '"+ artikal +"')";

        string connString = WebConfigurationManager.ConnectionStrings["prodajaConnectionString"].ConnectionString;
        SqlConnection veza= new SqlConnection(connString);
        SqlCommand komanda = new SqlCommand(sql,veza);
        
        try{
if(veza.State != ConnectionState.Open()) veza.Open();
komanda.ExecuteNonQuery();
veza.Close();
}
catch(SqlException ex)
{Response.Write(ex.Message);}
        
    }


Eto ukratko bi to trebalo da je rjesenje. Mada ovdje imas problem sa SQL Injection i trebala bi da koristis parametre.
[ cinderella1264 @ 21.04.2009. 14:12 ] @
Kada pokrenem program nailazim na Exception u try bloku metoda PuniDropDownListu()...
oznaci mi DropDownList1.DataBind(); - i pise Both DataSource and DataSourceID are defined on 'DropDownList1'. Remove one definition.
Ne znam koju definiciju treba da uklonim i odakle....

Hvala puno na pomoci.
[ cinderella1264 @ 21.04.2009. 14:51 ] @
Uspela sam, nasla sam gde sam pogresila!!!

Hvala ti jos jednom puno!!!!
[ phprofi @ 25.05.2009. 07:44 ] @
prokleta nedelja pa ti bre pojma nemas! Gde si se bre ti skolovao, jel u saobrajcajnoj? Smer motokultivator a i sire, e...