|
Hi all.am really new to asp.net,c# as well as sql.i hope you will help me on this.
i want to call my stored procedure from my class file. and later create an instance of the class in the .aspx.cs file.to do this i have to create a connection object and pass in my configuration key from web.config. that is where am stuck because i had used this:
SqlConnection connection = new SqlConnection ( ConfigurationManager.ConnectionStrings [‘’B.F.M.S”].ConnectionString);
B.F.M.S is my sql database.
Now when i run my application its giving a [NullReference Exception: Object reference not set to an instance of an object].
the error is with that line.
Can you please help on how i can rectify that.
|
|
|
|
|
The string you pass to the indexer of the ConnectionStrings collection needs to be the name of a connection string defined in your web.config file:
="1.0"
<configuration>
<connectionStrings>
<add
name="B.F.M.S"
providerName="System.Data.SqlClient"
connectionString="YOUR CONNECTION STRING HERE"
/>
</connectionStrings>
</configuration>
If you're getting a NullReferenceException , that means the key you're using isn't defined in your configuration file.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
you mean it should be :
SqlConnection connection = new SqlConnection(‘’Data Source= VICKIE-PC\VICTORIASQL2008;Initial Catalog = B.F.M.S; user id = ×××;password=××ב’)???like i defined it in my web.config file?
wen i do that ib the .cs file its indicating that \ is an unrecognised escape sequence..please help
|
|
|
|
|
You have two options:
1) Define the connection string in the web.config file, and use the name of that entry to retrieve the connection:
="1.0"
<configuration>
<connectionStrings>
<add
name="TheEntryName"
providerName="System.Data.SqlClient"
connectionString="YOUR CONNECTION STRING HERE"
/>
</connectionStrings>
</configuration>
using (SqlConnection connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["TheEntryName"].ConnectionString))
{
...
}
2) Hard-code your connection string:
using (SqlConnection connection = new SqlConnection(@"YOUR CONNECTION STRING HERE"))
{
...
}
Option #1 is better, because it enables you to update the connection string without recompiling your code. This is particularly important for ASP.NET, where you will potentially have three different versions of the database (development, QA, and live).
If you decide to use option #2, your connection string needs to be a valid C# string literal[^]. You can either escape the backslash character:
"Data Source= VICKIE-PC\\VICTORIASQL2008;Initial Catalog = B.F.M.S; user id = ×××;password=×××"
or use a verbatim string by putting @ before the opening quote:
@"Data Source= VICKIE-PC\VICTORIASQL2008;Initial Catalog = B.F.M.S; user id = ×××;password=×××"
But seriously, use option #1.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
thanx Ric.
i tried both options.option 1 is giving me an error on WebConfigurationManager saying it does not exist in this context while option 2 doesnt give any error.could it be that i mighy be doing something wrong? am not sure now
|
|
|
|
|
Try with just ConfigurationManager ; the WebConfigurationManager class is only available if you have a reference to the System.Web assembly.
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["TheEntryName"].ConnectionString))
{
...
}
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
You are a genius.thanx.the last suggestion worked.
|
|
|
|
|
please explain the simple understanding way to generate .dll file from asp.net project which contains only .aspx pages
|
|
|
|
|
|
When you compile or build the project all of the c# code gets put into a dll.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Hi,
I'm trying to POST values to a php service by HTTPWebRequest then It's returning true and inserting right values but when I'm doing it manually it is returning null.
Here is the Code:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.abc.com/showmydata/installinfo.php");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
string postData = "IMNumber=353323065370373&IPAddress=132.168.5.7";
byte[] bytes = Encoding.UTF8.GetBytes(postData);
request.ContentLength = bytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
var result = reader.ReadToEnd();
stream.Dispose();
reader.Dispose();
It's working fine by this code but ,
when I'm doing it manually :
http://www.abc.com/showmydata/installinfo.php?IMNumber=353323065370373&IPAddress=132.168.5.7
It is returning both IMNumber and IPAddress null.
Please help me in this how manually is wrong and what is the pattern
of HttpWebRequest that returning it correctly.
Thanks!
|
|
|
|
|
When you do it manually you are sending a GET, not a POST. If the target service is coded to only work from POST then it thinks you have not sent it any parameters. To simulate a POST you'll need to use a tool like fiddler, or there are various add-ons for various browsers that will let you do this, things like "Postman" for Chrome.
|
|
|
|
|
How dll works after when only aspx file are present on the server
|
|
|
|
|
They don't. The files must be present in order to be accessed, and loaded into memory.
|
|
|
|
|
actually i lost my c# files, want to change some functionality, where can i edit the code.
|
|
|
|
|
You missed the point me think...OP asks about lost CS files, and those already compiled into the DLLs...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
The question was not exactly clear.
|
|
|
|
|
Exactly is an understatement...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
The code in the C# files (.aspx.cs) is compiled into the dll which is why you don't need them on the server.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Is there any way that i can edit code for adding functionality
|
|
|
|
|
You can edit the .aspx files if they are not compiled as well. But no, you can't edit the code because it is compiled into the dll.
Edit your source code and then publish again.
Alternatively, but not recommended, instead of doing a build and putting the dll on the server you can put all the source code on the server. Then you could make changes directly on the server.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
You'll need to reconstruct the source code from the compiled assemblies to get you back to a working solution again. There are various tools that can help you do this like ILspy, dotPeek etc.
|
|
|
|
|
who to developing net chat ,.use asp.net
|
|
|
|
|
|