I have a simple table, for some reason, certain columns seem to accept
Nulls even though they shouldn't, for example the I can set the 'Name'
field to Null using my web application or directly in Enterprise
Manager. field How do I prevent this? However the 'RecCreated' doess
not permit nulls.
CREATE TABLE [dbo].[Group] (
[GroupID] [int] IDENTITY (1000, 1) NOT NULL ,
[Name] [nvarchar] (50) NOT NULL ,
[Description] [nvarchar] (750) NULL ,
[RecCreated] [datetime] NOT NULL ,
[RecUpdated] [datetime] NOT NULL ,
[RecCreatedBy] [int] NOT NULL ,
[RecUpdatedBy] [int] NOT NULL ,
[RecActive] [int] NOT NULL
) ON [PRIMARY]
GO
thanks for any help you can give on this 7 1195
If your adding data to varchar field using EM are actually entering an empty
string? and most likely this is what your web application is doing as well.
1) You really shouldn't be using EM to enter data into your tables, or
rather you shouldn't be relying on it as a primary means to enter data.
It's great for testing and the like but it should be limitted to that.
2) It sounds like your web application needs some additional middle tier
logic to make sure that empty strings aren't passed into the database.
Hopefully these ideas help,
Muhd.
"grist2mill " <gr********@exc ite.com> wrote in message
news:46******** *************** *@posting.googl e.com... I have a simple table, for some reason, certain columns seem to accept Nulls even though they shouldn't, for example the I can set the 'Name' field to Null using my web application or directly in Enterprise Manager. field How do I prevent this? However the 'RecCreated' doess not permit nulls.
CREATE TABLE [dbo].[Group] ( [GroupID] [int] IDENTITY (1000, 1) NOT NULL , [Name] [nvarchar] (50) NOT NULL , [Description] [nvarchar] (750) NULL , [RecCreated] [datetime] NOT NULL , [RecUpdated] [datetime] NOT NULL , [RecCreatedBy] [int] NOT NULL , [RecUpdatedBy] [int] NOT NULL , [RecActive] [int] NOT NULL ) ON [PRIMARY] GO thanks for any help you can give on this
Can you post some code that will reproduce the problem. I assume you are
aware that NULL is different to the empty string? How did you check that
NULLs were present in the table? Can you actually run the following queries
in Query Analzer and see what they return:
SELECT [name]
FROM dbo.[Group]
WHERE [name] IS NULL
SELECT COLUMNPROPERTY( OBJECT_ID('dbo.[Group]'),'name','Allo wsNull')
You can't always believe what you see in Enterprise Manager because the
display isn't always refreshed when you would expect it to be. Also, I
wouldn't trust EM as a method for entering data into tables.
P.S. "GROUP" is a reserved word. It's not a good idea to use reserved words
for table names. Anyway "Group" is too meaningless to make a good table
name. Group of what?
--
David Portas
SQL Server MVP
--
"grist2mill " <gr********@exc ite.com> wrote in message
news:46******** *************** *@posting.googl e.com... I have a simple table, for some reason, certain columns seem to accept Nulls even though they shouldn't, for example the I can set the 'Name' field to Null using my web application or directly in Enterprise Manager. field How do I prevent this? However the 'RecCreated' doess not permit nulls.
CREATE TABLE [dbo].[Group] ( [GroupID] [int] IDENTITY (1000, 1) NOT NULL , [Name] [nvarchar] (50) NOT NULL , [Description] [nvarchar] (750) NULL , [RecCreated] [datetime] NOT NULL , [RecUpdated] [datetime] NOT NULL , [RecCreatedBy] [int] NOT NULL , [RecUpdatedBy] [int] NOT NULL , [RecActive] [int] NOT NULL ) ON [PRIMARY] GO thanks for any help you can give on this
In Enterprise Manager, if you type NULL in the table data screen, it will
put the literal string 'NULL' into the table, which is not the same as a
real NULL; you need Ctrl+0 to get a real NULL. I suspect your application is
doing the same thing, or perhaps displaying an empty string as NULL, which
it isn't.
EM isn't a good application for modifying data, because it's not always
completely clear what it's doing. You should use Query Analyzer instead,
because then you can control every detail of the SQL you execute, and you
can also save scripts for future use more easily.
Simon
Thanks to all for your help and tips.
So if I understand things correctly, (having run David's suggested
queries),
if you set a column to be nvarchar to not accept nulls, the column
will still accept empty strings. So to make a field mandatory, I must
enforce this at the application level (which is not such good
practice, because if another application should access the table I
won't know if they correctly enforce that certain fields should be
mandatory).
Have I understod things correctly (or should a be using a different
data type from nvarchar)?
Thanks to all for your help and tips.
So if I understand things correctly, (having run David's suggested
queries),
if you set a column to be nvarchar to not accept nulls, the column
will still accept empty strings. So to make a field mandatory, I must
enforce this at the application level (which is not such good
practice, because if another application should access the table I
won't know if they correctly enforce that certain fields should be
mandatory).
Have I understod things correctly (or should a be using a different
data type from nvarchar)?
On 11 Oct 2004 03:05:00 -0700, grist2mill wrote: if you set a column to be nvarchar to not accept nulls, the column will still accept empty strings. So to make a field mandatory, I must enforce this at the application level
Hi grist2mill,
You can use a CHECK constraint:
CREATE TABLE xxxx (....,
NonEmptyCol nvarchar(78) NOT NULL
CHECK (NonEmptyCol <> ''),
....)
Best, Hugo
--
(Remove _NO_ and _SPAM_ to get my e-mail address)
Thanks Hugo,
thats the problem solved
regards
GM
Hugo Kornelis <hugo@pe_NO_rFa ct.in_SPAM_fo> wrote in message news:<ou******* *************** **********@4ax. com>... On 11 Oct 2004 03:05:00 -0700, grist2mill wrote:
if you set a column to be nvarchar to not accept nulls, the column will still accept empty strings. So to make a field mandatory, I must enforce this at the application level
Hi grist2mill,
You can use a CHECK constraint:
CREATE TABLE xxxx (...., NonEmptyCol nvarchar(78) NOT NULL CHECK (NonEmptyCol <> ''), ....)
Best, Hugo This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: aaj |
last post by:
Hi
I am probably going to regret asking this because I'm sure you are going to
tell me my design is bad 8-) ah well we all have to learn....
anyway
I often use Nulls as a marker to see if certain tasks have been completed.
A typical example would be a column say invoice_value
|
by: Rhino |
last post by:
I am working with SQL Functions in DB2 for Windows/Linux/UNIX (V8.2.1) and
am having a problem setting input parameters for SQL Functions to null in
the Development Center.
My simple function, called Half, has a single integer input parameter and
divides this value by two to produce its result. It also tests the input
parameter to see if it is null; if it is null, it returns null. When I click
the Run button and try to use the SET TO...
|
by: Simon |
last post by:
Hi all,
Do you think the best way to avoid the problems of nulls in the database is
just to provide default values via the db schema?
Alternatively, is it better to allow nulls, seeing as the "absence" of data
is an entirely valid and useful value?
If the later is true, is there a better way to handle nulls that doing this
for each and every column of each and every table? I'm hoping there is
|
by: Rey |
last post by:
Howdy all.
My problem deals w/inserting nulls into database (SQL Svr 2K) for the
datetime fields activityDate and followUpDate where nulls are allowed.
>From the web form, the user can type in/select the activity or followup
date.
If, for this exercise, the followupdate textfield is empty, then when
the insert method of the class calls the InsertActivityLog stored
procedure, how can I get nulls inserted instead of 1/1/1900 because of
|
by: Mike |
last post by:
The current databas structure that i'm working with allowed NULL's an now
I'm converting the app to .NET and it will not allow NULLs in the fields
when populated.
So my question is, how can i hande NULL's being pulled from the DB now?
When I try to access a page and if the field is NULL I get an error:
i do i fix this? I'm using VB.NET for coding
Cast from type 'DBNull' to type 'String' is not valid.
| |
by: Angela |
last post by:
Hi
I am building a very simple data entry system with many forms and
input textboxes.
When I leave any part of the form empty (it allows nulls) it seems to
touch the field in the DB and the field is no longer NULL.
I have written a script to test for empty textboxes and insert DB.NULL
which is fine but when I want to load the data back into the form
|
by: Brian Henry |
last post by:
first question... I have a flat file which unfortinuatly has columns
seperated by nulls instead of spaces (a higher up company created it this
way for us) is there anyway to do a readline with this and not have it
affected by the null? because it is right now causes truncated data at wierd
places... but as soon as i manually with a hex editor change char(00) to
char(20) in the files it reads prerfectly... which leads me to my 2nd...
|
by: markjerz |
last post by:
Hi,
I basically have two tables with the same structure. One is an archive
of the other (backup). I want to essentially insert the data in to the
other.
I use:
INSERT INTO table ( column, column .... )
SELECT * FROM table2
|
by: J. Frank Parnell |
last post by:
arrrrrg:
Condo for rent has 3 price tiers (for different times of the year):
value
regular
premium
For every 7 nites they stay, they get 1 free, and that free one should be the
cheapest night (1 value nite, 6 premium nites, they should get the value nite
free)
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
| |
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |