SQL Server :: Handling NULL...Field Not Updating When NULL?
Nov 6, 2010i am using the following in a stored procedure.
[code]....
[Code]....Handling NULL...Field not updating when NULL?
i am using the following in a stored procedure.
[code]....
[Code]....Handling NULL...Field not updating when NULL?
I have 2 table Table A, Table B.
Table A - Parent Table
ID - Uniqueidentifier not null(PK)
Table B -Child Table
ID - uniqueidentifier null(FK, TableA)
I have a stored procedure to insert data into Table B, but when I tried to insert a null value into column ID of table B, this error came up:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tableB_tableA". The conflict occurred in database "database name", table "table A", column 'ID'.
The statement has been terminated.
The insert statement in asp.net is like so:
sqlcommand.parameter.add(New Sqlparameter("ID", Nothing))
I am guessing adding nothing to the null value column is the problem, but i don't know how to fix it... The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tableB_tableA". The conflict occurred in database "database name", table "table A", column 'ID'.
here is my code for selectiong some records from db table
string strSql = "select * from mtblNBD where SentTo=@SentTo and InternalStatus Is NULL order by DeadLine desc";
SqlCommand com = new SqlCommand(strSql, con);
com.Parameters.Add("@SentTo", SqlDbType.NVarChar, 50).Value = (string)Session["uname"];
here I am using parameters for SenTo field but not for NULL so it is ok... or should I use parameters for this field where value is NULL , if yes then how can I use parameter for this
I am calling a Java-script function, in that i am passing the value of hidden field, that hidden field i want to use at server-side, but the value of hidden field is null.
Client Side function
function getDetails()
{
document.forms[0].HdnNode.value=tree_selected_id; //HTML Hidden Field.
str="Cmp_12";
str_array=str.split("_");
var str_array1=str_array[0];
var str_array2=str_array[1];
document.getElementById("<%=HiddenNodeId.ClientId %>").value=str_array1;
document.getElementById("<%=HiddenTreeId.ClientId %>").value=str_array2;
}
Server Side Function
Public Sub InsertNodes(ByVal NodeId As String)
Dim objErrorObj As New ErrorObj
Dim ParentID As String
ParentID = HiddenNodeParent.Value
NodeId = HiddenNodeId.Value
Dim NodeIDTree As String
NodeIDTree = HiddenTreeId.Value
End Sub
i want my query to return results where the field address is not empty or null
however, the query i have is still returning results where address is empty i.e. ' ' .
I'm having trouble accomplishing the above. Below is all the mark up and code. I'm not getting error messages, but the validate image function is not working (fileupload portion is working ok).
In my attempt below---not sure if it's the simplest or best validation approach anyway---the "UserId" parameter appears during rendering to be empty---but in most methods I have it successfully containing or referring to the logged-in user's identification.
Following is the control that refers to the image field (page = advertisement.aspx):
<asp:Image ID="Image" runat="server" ImageUrl ='<%#Eval("UserId","Image.aspx?UserId={0}") %>'
Following is the successful code behind for the page image.aspx referred to above (page = image.aspx.vb):
[code]....
i have a webpage built in asp.net c#. it always a user to create a new record in a db table. there are there are two input fields, text and score. text cannot be a null value so if the user doesn't input text onsubmit, the page errors out. i want to throw in some simple error handling code in the code behind page. i've tried including an if/else on_inserted method but ran into some java script errors.
[code]....
I have a requirement to convert LINQ to DataTable.
I stole the following Extension Method from StackOverflow:
[code]....
I'm developing a website using asp.net 2.0 . I have retrieved a record from database through the query.
SqlConnection con = new SqlConnection(connectionstring);
con.Open();
String SQL = "SELECT * FROM Table where attribute1 = value";
SqlCommand cmd = new SqlCommand(SQL, con);
SqlDataReader reader = cmd.ExecuteReader();
Sometimes, there is no record matching this query and so null value is retrieved. My question is how to find that the null value is returned. Since If (no record found i.e NULL) certain actions needs to be done and if (records found i.e NOT NULL) ceratin different actions needs to be carried out.
I have a table in sql having a numeric data type column,Now i want that whenever user left this field blank from front end aspx page, null value should be inserted in this column from stored proc.How can i achieve this? Also what kind of data type is most appropriate on front end for such taking kind of value?
View 2 RepliesI have a DetailsView on the page and I have made one of the fields a TemplateField. In the EditItemTemplate and InsertItemTemplate I have a DropdownList that is databound to a table in my Sql Server database. I wanted to add an initial value to the DropdownList
namely "- select -" .
I set the AppendDataBoundItems property to true and added the initial value as a ListItem.Markup of the DropdownList
<asp:DropDownList ID="DropDownList_HP" runat="server"
AppendDataBoundItems="True" DataSourceID="SqlDataSource_HP" [code]...
This works fine for new input. The problem is however that the database already has records that were entered through a Windows Application and many of these records has a null value in this field and exceptions are thrown when I tried to open these records
and the system tried to set the SelectedValue of the DropdownList.After some more searching I found this help
http://msdn.microsoft.com/en-us/library/ms366709.aspx
So I changed the ListItem in the DropDownList markup to the following:
<asp:DropDownList ID="DropDownList_RefHospDV4" runat="server"
AppendDataBoundItems="True" DataSourceID="SqlDataSource_RefHosp" [code]...
This now solved the problem of opening a record where the value is null in the database, BUT now the RequiredFieldValidator is not validating anymore to make sure that a databound item is selected for this field and not the initial value "- select -". So basically now it is not checking anymore to see if valid input has been entered for the DropDownList and it accepts "- select -" thus it acts as if the field is not a required field anymore.
In short what is required is that I want to make sure that the user enters a valid selection in the DropDownList, but it must also cater for old records that do not have this field entered yet so that those old records can be opened in the DetailsView .Opening Old records (with null in that field):When these old records are opened in the DetailsView the DropDownlist should show "- select -" when the value in the database is null.
Saving records (old or new records):When saving the record in Insert mode or Update mode the RequiredFieldValidator should show that a valid input is not selected if the DropDownList is still on "- select -".
I have a combobox within an edititem within a datalist:
<asp:DataList
runat="server"
DataKeyField="ChargeID"
ID="HistoryList"
DataSourceID="SqlDataSource1"
OnUpdateCommand="DataList1_UpdateCommand"
<EditItemTemplate>
<tr>
<td
width="70"
align="left">
[code]...
I have two table BuildGroup and table DocumentTemplate. DocumentTemplate table has BuildGroupId as foreign key which is nullable. In a certain senario I update BuildGroupId in DocumentTemplate table.
[Code].....
In another senario I need to set BuildGroupId in DocumentTemplate table again to dbnull.value. I tried with different cases as in else block. It giving the error : Cannot implicitly convert type 'System.DBNull' to 'int'. How can I update a foreign key value with NULL?
Passing a null or nothing value to a datatime datatype database field (Access)
I've been all over the internet looking at this and I have tried dozens of methods without success.
I've read a few forums where, some say you can not assign a null value or a nothing value to a datetime datatype field. Then I see others where they say...'I got it to work'.
If this is true (that you can not pass a null value), how come I can create a record in the Access table and not assign a value to this date field? (The field is defined as not required).
Yet, once a value is in the field, I can not update that field back to a null or a nothing value.
So I'm hoping someone has the definitive answer to this.
I am using VB.Net Vs 2003 and updating an Access data base.
I have an update statement (see below) that uses parameters for updating.
what will work, so that I can put back the null or nothing value?
Or if it really can not be done, I guess I'll have to take that as truth.
[Code]....
I have a rather large formview that asks for a variety of input values (physical totals vs pos report totals). I have created vb code to calculate the differences and subtotals of various types prior to inserting the data so people can check for entry errors.
Its a closing reconciliation form. Here's the problem: If they forget to enter 0 in a field that doesn't have any totals, a big ugly error message displays. I would like to avoid this. I can tell them until I am blue in the face to remember to enter 0 and not leave any blank fields, but realistically its going to happen and I need to handle it in the programming.
I have been struggling to either default the values to zero to start with, replace a null textbox with 0 before the calculate runs...but I can't get anything to really work. What is the best way to handle this?
Here is the aspx page:
[Code]....
And the code behind page with working "Calculate" as long as fields are not left blank (I took out all the test code that made it not work at all)
[Code]....
Finally, the error message I am getting is the following:
[Code]....
I can't seem to find the right combination of programming to account for the "" string to be 0 so that it will add or subtract values in my calculate. I have my sql table setup with default values of 0 so if a field is left blank it will be entered into the database as 0 and not null. It is really just for my inserting of a reconciliation and the running of Calculate Totals to double check their work prior to inserting into the database.
I use VS2005 on Oracle 10gR2. Using
(System.ComponentModel.DataObjectMethodType.Update,
True) to update database row that returns null values from date and numeric columns,Whenever i try to update same row with null (or empty) values on both date and numeric columns, it results in sending '01-Jan-0001' for date column and 0 for numeric column. I want the user to have the options of null or corresponding values for the update.
I have setup my business object to have a create_date and edit_date members both datetime datatypes. My company want to display the create_date and edit_date fields in a gridview for each transaction. The problem i have is that after insterting a record it will have a valid create_date but no edit_date and when displayed in the gridview it defaults to datetime.minvalue (My default). How on earth do i show an empty field in my gridview for a null datetime field in the database?
I am using similar architecture to the Imar Spaanjaars example of a tiered solution. With a few small tweeks it has worked well for me for ages. I am passing a List<Database> to my object datasource which connects to my gridview.
I have a problem with a SessionVariable. I will explain what is happening:
1. From the default.aspx I send Session["LoginByAdmin"] = "Dummy"; and then redirect to this page where I have the code below. So the Page_Load sees that this Session["LoginByAdmin"] != null and enter this page. This works fine !
2. In the Page_Load, I later fill a ListBox1 with foldernames.
3. With Button1_Click1, I will now delete the choosen Folder in the ListBox1 wich works fine the first time and the ListBox updates the new existing folders in the ListBox. (I have wrapped this inside an updatepanel)
The problems comes now when I try to delete a choosen folder in the ListBox1 the second time in a row. When I select a Folder in the ListBox1 and now Press Button1, I will be redirected to "Default.aspx". This meens that this code is running: (That meens that Session["LoginByAdmin"] == null and I have not set this to null anywhere. This is my big question how this variable can be = null here?
if (Session["LoginByAdmin"] == null)
Response.Redirect("Default.aspx");
break;
[Code]....
I am using dropdownlist in my view page with some values which will display corresponding ID(primary key of other table) in my database.If i leave my dropdownlist blank and save it in database then its showing null parameter error. Can you explain how to use this reference type to overcome this error
View 2 RepliesIn Microsoft Access Database Form, I have a series of five fields. I would like to set up a field that is equal to the first field unless that field is null or 0. Then I want the field to be equal to the second field unless that field is null or 0, continuing the same way through the five fields. Being a newb, I have no idea how.
View 1 RepliesI remember being told that you can add some syntax to the end of a statement that will do something if the field is null. Pretty vague, but I cant seem to find anything about it via google.
I definitely isnt how to set a field to be nullable. I know that.
Here is an example of what I want.
int? field1 = 0;
field1 = int.parse(string2); (where string2 is a passed value, that could be null)
I thought there was something you could put at ?? if it is a null, such as:
field1 = int.parse(string2) ??;
Or do I have to check every if every string2 is null before making that statement.
how can insert null value into integer field
View 3 RepliesActually i have a table with 7 columns
1) Title varchar(100)
2)Description varchar(300)
3)ProfilePicture varbinary(max)
4) Image1 varbinary (max)
5)Image2 varbinary(max)
6)Image3 varbinary(max)
7)Image4 varbinary(max)
Image1,2,3,4 are not a mandatory fields so, when i inserted, i check it if it is not there then i insert null value, Now problem is when i retrive them if there is a row contain image1,2 are image content and 3,4 are null values dataset also filling as it is in database but when i checking like
[code]....
it shows error like
Unable to cast object of type 'System.DBNull' to type 'System.Byte[]'.
In the below code when I remove the optional end date and click save it should just take the value as blank, but it doesn't
when I remove the date and click save it saves but still shows the same date as before...when I make it to null it should remain null...how do i do that
#region Save Package
protected void btnBack_Click(object sender, EventArgs e)
{
this.Response.Redirect("/?id=Promotion.PackageList");
}
[Code]....
I'm having a spot of trouble figure out how to write my linq query so that is allows a decimal field in my datatable to be null
Right now I have this:
[Code]....
But it's not working. The error I am getting is: Cannot cast DBNull.Value to type 'System.Decimal'. Please use a nullable type.so how do I get it to allow program_ar_id to be null?