![]() | |
![]() |
| | Thread Tools | Search this Thread | Display Modes |
#1
| |||
| |||
|
|
= 47 THEN SUBSTRING([Observation],1,47) + '...' ELSE [Observation] END |
#2
| |||
| |||
|
|
Can I get someone's opinion on the below please. *I’m getting an 'Object reference not set to an instance of an object' on the below TreeView code. *Everything appears to work fine until I include the Cursor content. * Thanks in advance! ________________________________________ TreeView ________________________________________ using System.Collections; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Web; using System.Web.UI.WebControls; namespace Web { * * public class VORTEXDynamicMenu * * { * * * * public TreeNode RefreshTreeMenu(string PU) * * * * { * * * * * * SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["VORTEXConnectionStrin*g"].ConnectionString); * * * * * * SqlCommand cmd = new SqlCommand("SORTreeView_SELECT", con); * * * * * * cmd.CommandType = CommandType.StoredProcedure; * * * * * * cmd.Parameters.AddWithValue("@PU", PU); * * * * * * cmd.Parameters.AddWithValue("@RequestedBy", HttpContext.Current.User.Identity.Name.ToString()) ; * * * * * * SqlDataAdapter da = new SqlDataAdapter(cmd); * * * * * * DataTable dt = new DataTable(); * * * * * * da.Fill(dt); * * * * * * Hashtable ht = new Hashtable(); * * * * * * string top = "-1"; * * * * * * int b = dt.Rows.Count; * * * * * * foreach (DataRow dr in dt.Rows) * * * * * * { * * * * * * * * TreeNode mi = new TreeNode(); * * * * * * * * mi.Text = dr["Title"].ToString(); * * * * * * * * mi.Value = dr["SORID"].ToString(); * * * * * * * * mi.ToolTip = dr["Observation"].ToString(); * * * * * * * * if (top == "-1") * * * * * * * * * * top = mi.Value; * * * * * * * * ht.Add(mi.Value, mi); * * * * * * * * if ((int)dr["Parent"] != 0) * * * * * * * * { * * * * * * * * * * string s = dr["Parent"].ToString(); ((TreeNode)ht[dr["Parent"].ToString()]).ChildNodes.Add(mi); * * * * * * * * } * * * * * * } * * * * * * return (TreeNode)ht[top]; * * * * } * * } } ________________________________________ SQL STRING ________________________________________ PROCEDURE [OAKDBS28\SQA2008].[VORTEX].[dbo].[SORTreeView_SELECT] * * * @PU VARCHAR(5) * * * ,@RequestedBy VARCHAR(50) AS * * * SET XACT_ABORT ON; * * * SET NOCOUNT ON; * * * SET LOCK_TIMEOUT 5000 * * * DECLARE @CRSRVAR CURSOR * * * DECLARE @ProjNo VARCHAR(8) * * * DECLARE @Parent INT * * * DECLARE @ProjTable AS TABLE([ID] INT IDENTITY(1,1) NOT NULL * * * * * * ,[ProjNo] VARCHAR(8)) * * * DECLARE @Table AS TABLE([ID] INT IDENTITY(1,1) NOT NULL * * * * * * ,[SORID] INT PRIMARY KEY * * * * * * ,[Parent] INT * * * * * * ,[Title] varchar(50) * * * * * * ,[Observation] varchar(50)) * * * INSERT INTO @Table([SORID] * * * * * * ,[Parent] * * * * * * ,[Title]) * * * VALUES(1000000 * * * * * * ,0 * * * * * * ,'New SOR') * * * INSERT INTO @ProjTable([ProjNo]) * * * SELECT sT.[ProjNo] * * * FROM [dbo].[SORTable] AS sT * * * * * * INNER JOIN [Oakdbs06].[GFS].[dbo].[ProjectInfoAll] AS p ON sT.[ProjNo] = p.[Project_Number] * * * * * * INNER JOIN [Oakdbs06].[GFS].[dbo].[PA_PROJECTS_ALL] AS pA ON p.[Project_Number] = pA.[Project_Number] * * * WHERE(p.[PU] = @PU) * * * * * * AND(pA.[Project_Status_Code] IN ('Active', 'Pending_Close')) * * * ORDER BY sT.[ProjNo] * * * SET @CRSRVAR = CURSOR FOR * * * * * * SELECT [ProjNo] * * * * * * FROM @ProjTable * * * OPEN @CRSRVAR * * * FETCH NEXT FROM @CRSRVAR * * * INTO @ProjNo * * * WHILE(@@FETCH_STATUS = 0) * * * * * * BEGIN * * * * * * * * * INSERT INTO @Table([SORID] * * * * * * * * * * * * ,[Parent] * * * * * * * * * * * * ,[Title]) * * * * * * * * * SELECT 1000000 + [ID] * * * * * * * * * * * * ,1 * * * * * * * * * * * * ,@ProjNo * * * * * * * * * FROM @ProjTable * * * * * * * * * WHERE([ProjNo] = @ProjNo) * * * * * * * * * SELECT @Parent = [ID] * * * * * * * * * FROM @Table * * * * * * * * * WHERE([Title] = @ProjNo) * * * * * * * * * INSERT INTO @Table([SORID] * * * * * * * * * * * * ,[Parent] * * * * * * * * * * * * ,[Title] * * * * * * * * * * * * ,[Observation]) * * * * * * * * * SELECT [SORID] * * * * * * * * * * * * ,@Parent * * * * * * * * * * * * ,[Name] * * * * * * * * * * * * ,[Observation] = CASE WHEN LEN([Observation])>= 47 THEN SUBSTRING([Observation],1,47) + '...' ELSE [Observation] END * * * * * * * * * FROM [dbo].[SORTable] * * * * * * * * * WHERE ([ProjNo] = @ProjNo) * * * * * * * * * ORDER BY [modBy] * * * * * * * * * FETCH NEXT FROM @CRSRVAR * * * * * * * * * INTO @ProjNo * * * * * * END * * * CLOSE @CRSRVAR * * * DEALLOCATE @CRSRVAR * * * SELECT * * * * FROM @Table * * * ORDER BY [ID] ________________________________________ Data Returned ________________________________________ ID * * *SORID * Parent *Description * * Observation 1 * * * 1000000 0 * * * New SOR NULL 2 * * * 1000001 1 * * * F5W56101 * * * *NULL 3 * * * 2 * * * 2 * * * Dave Burkett * *This SOR issetup exclusively for Testing. *Hig... 4 * * * 1000002 1 * * * F5W82211 * * * *NULL 5 * * * 3 * * * 4 * * * Dave Burkett * *I gotta getthis figured out. *I'm tired of dra... |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
| |