Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

C# and Database Connection String... 1

Status
Not open for further replies.

amorous

Programmer
Sep 5, 2003
1,008
US
Hi Guys...

I have this below connection string...

conn.ConnectionString = "Data Source=(STJSQL\STJDB);" +
"Database=STJData;" +
"User ID=XXX;" +
"Password=XXXXX";

i get the following error:

Compiler Error Message: CS1009: Unrecognized escape sequence

Any ideas...

-VJ

 
Hi guys,

Here is the complete code to create a simple bar chart ( code originally taken from codetoad.com) using C# and ASP.NET.

File 1:
This file has the code for drawing the bar chart...
Code:
<script language="C#" runat="server">

    private String        _sXAxisTitle;
    private String        _sChartTitle;
    private Int32        _iUserWidth = 300;
    private String []    _sYAxisItems;
    private Int32 []    _iYAxisValues;

    public Int32 UserWidth {
        get { return _iUserWidth; }
        set { _iUserWidth = value; }
    }

    public Int32 [] YAxisValues {
        get { return _iYAxisValues; }
        set { _iYAxisValues = value; }
    }

    public String [] YAxisItems {
        get { return _sYAxisItems; }
        set { _sYAxisItems = value; }
    }

    public String XAxisTitle {
        get { return _sXAxisTitle; }
        set { _sXAxisTitle = value; }
    }

    public String ChartTitle {
        get { return _sChartTitle; }
        set { _sChartTitle = value; }
    }

    void Page_Load(Object sender, EventArgs e) {    
    
        // As long as we have values to display, do so
        if (_iYAxisValues != null) {
            
            // Color array
            String [] sColor = new String[9];
            sColor[0] = "red";
            sColor[1] = "lightblue";
            sColor[2] = "green";
            sColor[3] = "orange";
            sColor[4] = "yellow";
            sColor[5] = "blue";
            sColor[6] = "lightgrey";
            sColor[7] = "pink";
            sColor[8] = "purple";

            // Initialize the color category
            Int32 iColor = 0;

            // Display the chart title
            lblChartTitle.Text = _sChartTitle;

            // Get the largest value from the available items
            Int32 iMaxVal = 0;            
            for (int i = 0; i < _iYAxisValues.Length; i++) {
                if (_iYAxisValues[i] > iMaxVal)
                    iMaxVal = _iYAxisValues[i];
            }

            // Take the user-provided maximum width of the chart, and divide it by the
            // largest value in our valueset to obtain the modifier
            Int32 iMod = Math.Abs(_iUserWidth/iMaxVal);

            // This will be the string holder for our actual bars.
            String sOut = "";
            
            // Render a bar for each item
            for (int i = 0; i < _iYAxisValues.Length; i++) {

                // Only display this item if we have a value to display
                if (_iYAxisValues[i] > 0) {

                    sOut += "<tr><td align=right>" + _sYAxisItems[i] + "</td>";
                    sOut += "<td>" + RenderItem(_iYAxisValues[i], iMod, sColor[iColor]) + "</td></tr>";
                    iColor++;
                    
                    // If we have reached the end of our color array, start over
                    if (iColor > 8) iColor = 0;
                }
            }
            
            // Place the rendered string in the appropriate label
            lblItems.Text = sOut;
            
            // Drop in the Y Axis label
            lblXAxisTitle.Text = _sXAxisTitle;
        }
    }

  
    private String RenderItem (Int32 iVal, Int32 iMod, String sColor) {
StringBuilder sb = new StringBuilder();
sb.Append("<table border=0 bgcolor=" + sColor + " cellpadding=0 cellspacing=0><tr>");
sb.Append("<td align=center width=" + (iVal * iMod) + " nobr nowrap>");
sb.Append("<b>" + iVal + "</b>");
sb.Append("</tr><td></table>");
return sb.ToString();
}
</script>

<table>
    <tr>
        <td align=center>
            <asp:Label id=lblChartTitle runat=server />            
        </td>
    </tr>
    <tr>
        <td>
            <table border=1 bordercolor='#777777' cellspacing=0 cellpadding=0>
                <tr>
                    <td>
                        <table>
                            <asp:Label id=lblItems runat=server />
                        </table>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td colspan=2 align=center>
            <asp:Label id=lblXAxisTitle runat=server />
        </td>
    </tr>
</table>

File 2:
In this file we populate the data from the database to file 1 methods

Code:
<%@ Register TagPrefix="DNG" TagName="DotNetGraph" Src="DotNetGraph.ascx" %>

<%@ Import Namespace="System"%>
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.Collections"%>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient"%>
<%@ Import Namespace="System.Drawing"%>

<script language="C#" runat="server">


int i=0;
   
   void Page_Load(Object Sender, EventArgs e) {             
    
//new sql connection
SqlConnection conn = new SqlConnection();
//connection string...note the @ sign at the beginning of the string---i had to use this because of the escape character i had in the Data Source
conn.ConnectionString = @"Data Source=STJSQL\STJDB;" +
                            "Database=STJData;" +
                            "User ID=XXXXX;" +
                            "Password=XXXXXX";

//our sql string

string sql= "SELECT t.Description as InventName, SUM(CASE WHEN m.Active_Ind =1 THEN 1 ELSE 0 END) as itemtotal FROM Inventory_Main m join Inventory_Type t on m.Inventory_Type_ID=t.Inventory_Type_ID GROUP BY m.Inventory_Type_ID, t.Description ORDER BY t.Description ASC ";

SqlCommand objcommand= new SqlCommand(sql,conn);
SqlDataAdapter objDA = new SqlDataAdapter(objcommand);

conn.Open();

 DataSet objDS = new DataSet("Inventory_Main");
    objDA.Fill(objDS, "Inventory_Main");
 
//initializing the arrays -- this is the important step

String [] sItems = new String[objDS.Tables[0].Rows.Count]; 
Int32 [] iValue = new Int32[objDS.Tables[0].Rows.Count]; 

foreach(DataRow row in objDS.Tables[0].Rows)
        {
          sItems[i]=row["Inventname"].ToString();
          iValue[i]=(int)row["itemtotal"];
          i++;
        }

// Set our axis values
		dngchart.YAxisValues = iValue;
        
        // Set our axis strings
		dngchart.YAxisItems  = sItems;   
                    
 // Provide a title
        dngchart.ChartTitle  = "<b>Inventory Breakdown:</b>";
        
        // Provide an title for the X-Axis
        dngchart.XAxisTitle  = "(units display actual numbers)";   

 }
    
</script>

<html>
<body>
<DNG:DotNetGraph id=dngchart UserWidth=200 runat=server />
</body>
</html>

Hope this helps everyone....

-VJ
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top