02. november 2005 - 22:25
Der er
7 kommentarer
DayRender og databasekald til datagrid
Når man trykker på en dato i min kalender skal den vise indholdet af den givne dato fra databasen.. Jeg har på fornemmelsen at kalenderen i Vs2003 C# eller asp.net c# har en anden måde at skrive datoen på end MSSQL.. Nu er mit sp. så.. Hvordan får jeg den til at hive den rigtige dato frem fra databasen.. Måden at skrive til MSSQL er jo yyyy-mm-dd hh:mm men jeg ved ikke hvordan det er til kalenderen. det kode jeg har p.t er: private void Calendar1_SelectionChanged(object sender, System.EventArgs e) { myda = new SqlDataAdapter("Select * from Event where Dato=#" + Calendar1.SelectedDate.ToString() + "#", mycn); //Create the dataset ds = new DataSet(); //Fill the DataSet (ds) myda.Fill(ds, "AllTables"); if (ds.Tables[0].Rows.Count == 0 ) { dgEventInfo.Visible = false; } else { //Mit datagrid dgEventInfo.Visible = true; dgEventInfo.DataSource = ds; dgEventInfo.DataBind (); } }
Annonceindlæg fra Computerworld it-jobbank
03. november 2005 - 08:13
#1
myda = new SqlDataAdapter("Select * from Event where Dato=# CONVERT(DateTime, "+ Calendar1.SelectedDate.ToString() +", 100)#", mycn);
03. november 2005 - 11:20
#4
Jeg får kompilerfejl nu med den kode: protected void Calendar1_SelectionChanged(object sender, System.EventArgs e) { myda = new SqlDataAdapter("Select * from Event where Dato=#CONVERT(DateTime, "+ Calendar1.SelectedDate.ToString() +", 100)#", mycn); //Create the dataset ds = new DataSet(); //Fill the DataSet (ds) myda.Fill(ds, "Event"); if (ds.Tables[0].Rows.Count == 0 ) { dgEventInfo.Visible = false; } else { dgEventInfo.Visible = true; dgEventInfo.DataSource = ds; dgEventInfo.DataBind (); } Fejlen: Line 1: Incorrect syntax near '00'. Beskrivelse: Der opstod en ikke-afviklet undtagelse under udførelse af den aktuelle webanmodning. Se staksporingen for at få yderligere oplysninger om fejlen, og hvor den kom fra i koden. Detaljer om undtagelse: System.Data.SqlClient.SqlException: Line 1: Incorrect syntax near '00'. Kildefejl: Linje 109: ds = new DataSet(); Linje 110: //Fill the DataSet (ds) Linje 111: myda.Fill(ds, "Event"); Linje 112: Linje 113: if (ds.Tables[0].Rows.Count == 0 ) Kildefil: c:\inetpub\wwwroot\5sem\skiste\calendar.aspx.cs Linje: 111 Staksporing: [SqlException: Line 1: Incorrect syntax near '00'.] System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) SKiste.WebForm1.Calendar1_SelectionChanged(Object sender, EventArgs e) in c:\inetpub\wwwroot\5sem\skiste\calendar.aspx.cs:111 System.Web.UI.WebControls.Calendar.OnSelectionChanged() System.Web.UI.WebControls.Calendar.SelectRange(DateTime dateFrom, DateTime dateTo) System.Web.UI.WebControls.Calendar.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) System.Web.UI.Page.ProcessRequestMain() -------------------------------------------------------------------------------- Versionsoplysninger: Microsoft .NET Framework version:1.1.4322.2032; ASP.NET version:1.1.4322.2032