Imam tri stranice napisane u MS Visual Studio 2005 Express i MS SQL 2005, a predstavljaju program koji se pokreće na webu. Trebao bih pomoć jer mi uz ispravan kod ne radi zadnja stranica kod pokretanja internetskog preglednika. Više na PP.
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Konkretnije, kako odabrati po jedan red iz dva GridViewa (prvo jedan, pa drugi) naravno pomoću naredbe select koja se nalazi u svakom redu. I kako to s tekućim datumom ubaciti u treći GridView?
Vidim da ovdje nema nikoga tko bi htio pomoći.
JAvi mi se na msn pa cu ti pokusati pomoci...
Maze1@windowslive.com
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Posudbe : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
gvPosudbe.DataSource = null;
gvPosudbe.DataBind();
}
}
protected void btnPosudi_Click(object sender, EventArgs e)
{
//Kreiram Connection objekt
string connString = ConfigurationManager.ConnectionStrings["VideotekaConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(connString);
//Kreiram DataAdapter
SqlDataAdapter adapter = new SqlDataAdapter();
try
{
conn.Open();
//Kreiranje naredbe SELECT
adapter.SelectCommand = new SqlCommand("SELECT * FROM [Posudbe] ", conn);
//Kreiranje INSERT, UPDATE i DELETE
adapter.InsertCommand = new SqlCommand("INSERT INTO [Posudbe] ([idPosudbe], [idClana], [idNaslova], [Datum_posudbe], [Vraceno]) VALUES (@idPosudbe, @idClana, @idNaslova, @Datum_posudbe, @Vraceno)", conn);
adapter.UpdateCommand = new SqlCommand("UPDATE [Posudbe] SET [idPosudbe] = @idPosudbe, [idClana] = @idClana, [idNaslova] = @idNaslova, [Datum_posudbe] = @Datum_posudbe, [Vraceno] = @Vraceno WHERE [idPosudbe] = @idPosudbe ", conn);
adapter.DeleteCommand = new SqlCommand("DELETE FROM Posudbe WHERE idPosudbe=@idPosudbe", conn);
//Kreiram Dataset objekt i DataTable objekt
DataSet ds = new DataSet("Posudbe");
DataTable dt = new DataTable("Posudbe");
//Kreiram Sql parametar objekte
SqlParameter param = new SqlParameter();
param.ParameterName = "@idPosudbe";
param.DbType = DbType.Int32;
param.Direction = ParameterDirection.Input;
param.Value = "idPosudbe";
param.ParameterName = "@idClana";
param.DbType = DbType.Int32;
param.Direction = ParameterDirection.Input;
param.Value = "idClana";
param.ParameterName = "@idNaslova";
param.DbType = DbType.Int32;
param.Direction = ParameterDirection.Input;
param.Value = "idNaslova";
//Kreiram Sql command objekt
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("idPosudbe", DbType.Int32);
cmd.Parameters.AddWithValue("idClana",DbType.Int32);
cmd.Parameters.AddWithValue("idNaslova",DbType.Int32);
//Definiram kolone tablice
dt.Columns.Add("idPosudbe", typeof(string));
dt.Columns.Add("idClana", typeof(string));
dt.Columns.Add("idNaslova", typeof(string));
dt.Columns.Add("Datum_posudbe", typeof(string));
dt.Columns.Add("Vraceno", typeof(string));
//Dodajem jedan redak tablice
DataRow row = dt.NewRow();
row["idPosudbe"] = "1";
row["idClana"] = "gvClanovi.Rows[gvClanovi.SelectedIndex].Cells[1].Text";
row["idNaslova"] = "gvNaslovi.Rows[gvNaslovi.SelectedIndex].Cells[2].Text";
row["Datum_posudbe"] = "DateTime.Now.ToShortDateString()";
row["Vraceno"] = "NE";
dt.Rows.Add(row);
//Tablicu dodajem DataSetu
ds.Tables.Add(dt);
int brojRedaka = adapter.Update(ds, "Posudbe");
}
catch (SqlException sqlEx)
{
Response.Write(sqlEx.Message);
}
finally
{
conn.Close();
adapter.Dispose();
}
}
}
param.Value="idposudbe" ...recimo da bi dobio ili upisao id moraš to tako da kažeš gdje se nalazi taj Id a ne samo navesti njegovo ime ,tad program ne zna gdje da nađe taj id,zato recimo ako želiš nešto naći preko id-a ili upisati idPosudbe tad moraš umjesto param.Value="Idposudbe " napisati recimo :
param.Value=int.Parse(txtID.Text);
...kužiš u čem je problem....moraš kazati kodu gdje je taj Id ili u gridu ili preko nekog txtBox-a ili liste ili čega već .
Ovo što si napisao dolje ,ne bih nikad tako radio,po meni jednostavno griješiš u primjeni parametara i njhovom izvršavanju.
cmd.Parameters.AddWithValue("idPosudbe", DbType.Int32);
cmd.Parameters.AddWithValue("idClana",DbType.Int32);
cmd.Parameters.AddWithValue("idNaslova",DbType.Int32);
Ovo je samo letimično pogled na tvoj kod jer nemam vremena ,ali pročitaj opaske pa ćeš znati kako do parametara.
I piši kod s markerom za kod.
A tu su i drugi forumaši
Hvala, Private na pomoći ali ne pomaže mi ovo. Nešto slično sam pokušao. @idPosudbe treba tek formirati, jer GridViewPosudbe još nije prikazan, nije obavljena prva posudba.
Postoje samo @idClana i @idNaslova u druge dvije GridView kontrole. A za kod stoji primjedba,, bit će drugi put i ja sam u žurbi.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Posudbe : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
gvPosudbe.DataSource = null;
gvPosudbe.DataBind();
}
}
protected void btnPosudi_Click(object sender, EventArgs e)
{
int index = gvPosudbe.SelectedIndex;
if(index!=-1)
{
//Primarni ključ
DataKey key = gvPosudbe.DataKeys[index];
//Deklaracija skalarne varijable
int @idPosudbe = (int)key.Value;
//Kreiram Connection objekt
string connString = ConfigurationManager.ConnectionStrings["VideotekaConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(connString);
//Kreiram DataAdapter
SqlDataAdapter adapter = new SqlDataAdapter();
try
{
conn.Open();
//Kreiranje naredbe SELECT
adapter.SelectCommand = new SqlCommand("SELECT * FROM [Posudbe] ", conn);
//Kreiranje INSERT, UPDATE i DELETE
adapter.InsertCommand = new SqlCommand("INSERT INTO [Posudbe] ([idPosudbe], [idClana], [idNaslova], [Datum_posudbe], [Vraceno]) VALUES (@idPosudbe, @idClana, @idNaslova, @Datum_posudbe, @Vraceno)", conn);
adapter.UpdateCommand = new SqlCommand("UPDATE [Posudbe] SET [idPosudbe] = @idPosudbe, [idClana] = @idClana, [idNaslova] = @idNaslova, [Datum_posudbe] = @Datum_posudbe, [Vraceno] = @Vraceno WHERE [idPosudbe] = @idPosudbe ", conn);
adapter.DeleteCommand = new SqlCommand("DELETE FROM Posudbe WHERE idPosudbe=@idPosudbe", conn);
//Kreiram Dataset objekt i DataTable objekt
DataSet ds = new DataSet("Posudbe");
DataTable dt = new DataTable("Posudbe");
//Kreiram Sql parametar objekte
SqlParameter param = new SqlParameter();
param.ParameterName = "@idPosudbe";
param.DbType = DbType.Int32;
param.Direction = ParameterDirection.Input;
param.Value = int.Parse(gvPosudbe.DataKeys[index]);
param.ParameterName = "@idClana";
param.DbType = DbType.Int32;
param.Direction = ParameterDirection.Input;
param.Value = "idClana";
param.ParameterName = "@idNaslova";
param.DbType = DbType.Int32;
param.Direction = ParameterDirection.Input;
param.Value = "idNaslova";
//Definiram kolone tablice
dt.Columns.Add("idPosudbe", typeof(string));
dt.Columns.Add("idClana", typeof(string));
dt.Columns.Add("idNaslova", typeof(string));
dt.Columns.Add("Datum_posudbe", typeof(string));
dt.Columns.Add("Vraceno", typeof(string));
//Dodajem jedan redak tablice
DataRow row = dt.NewRow();
row["idPosudbe"] = "1";
row["idClana"] = "gvClanovi.Rows[gvClanovi.SelectedIndex].Cells[1].Text";
row["idNaslova"] = "gvNaslovi.Rows[gvNaslovi.SelectedIndex].Cells[2].Text";
row["Datum_posudbe"] = "DateTime.Now.ToShortDateString()";
row["Vraceno"] = "NE";
dt.Rows.Add(row);
//Tablicu dodajem DataSetu
ds.Tables.Add(dt);
int brojRedaka = adapter.Update(ds, "Posudbe");
}
catch (SqlException sqlEx)
{
Response.Write(sqlEx.Message);
}
finally
{
conn.Close();
adapter.Dispose();
}
}
}
Zna li netko zašto ovo ne radi?