|
Hi..
I have changed all the data types used by the stored procedure (all the tables and the #SearchTable).
Each time i modify a data type for a table the compiler tell me to repopulate the fulltextIndex for that table and that what i did.
But after all these modifications i got the same error at the SqlAnalyzer.
Is there another thing i should do?
|
|
|
|
|
Look here[^]. The last section on Noise words might be pertinent...
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
This article[^] may also have some useful info
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
Hi..
When i used the code (part of the procedure):
SELECT P.FieldNO, PL.ProjectNO,PL.ProjectName,PL.ProjectDescription,P.ProjectImage,PL.CultureID
FROM FREETEXTTABLE(Project_Locale,*,@SearchString) AS FT JOIN Project_Locale AS PL ON FT.[KEY]=PL.ProjectCultureID
JOIN Project AS P ON P.ProjectNO=PL.ProjectNO
WHERE PL.CultureID=dbo.GetCultureID(@CultureName)
With arabic words(inputs:@CultureName,@SearchString) it works fine but when i call the whole stored procedure(SearchProject) i got the error i mentioned before..I think the problem exists in the line :
INSERT INTO #SearchTable (FieldNO,ProjectNO,ProjectName,ProjectDescription,ProjectImage,CultureID)
But i dont know what is the problem and how to solve it?Is there a problem with cultures in the temporary table?
|
|
|
|
|
Hello,
I have some problem with my Simple query. I just want to compare the DateTime value to a given range.
Here i am giving my query and result. In Result, I do not understand why is selects 2 and 3 numbered rows. Any Other way to Compare datetime value to Date And Time of the field of a table??
SELECT *
FROM dbo.Table
WHERE ((CAST('5/6/2006 5:08:00 AM' AS DATETIME) BETWEEN StartDateTime AND EndDateTime)
OR CAST('5/6/2006 5:08:59 AM' AS DATETIME) BETWEEN StartDateTime AND EndDateTime)
RESULT :-
1 2006-05-06 05:04:00.000 2006-05-08 05:05:00.000
2 2006-05-06 05:07:00.000 2006-05-08 05:08:00.000
3 2006-05-06 05:07:00.000 2006-05-08 05:08:00.000
Thank you
|
|
|
|
|
Are you sure you posted this correctly? The first datetime in the query is satisfied by the values in 2 & 3, but neither value is saisfied by row 1 in the return.
Note that BETWEEN is inclusive:
BETWEEN returns TRUE if the value of test_expression is greater than or equal to the value of begin_expression and less than or equal to the value of end_expression.
if you want to exclude the start and end values, use
SELECT *
FROM dbo.Table
WHERE ((CAST('5/6/2006 5:08:00 AM' AS DATETIME) > StartDateTime)
AND (CAST('5/6/2006 5:08:00 AM' AS DATETIME) < EndDateTime))
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
Hi,
Thanks for the Reply.
I have tried everyway. But Still have not been successfull.
SELECT *
FROM dbo.Table
WHERE (((CAST('5/7/2006 1:10:00 AM' AS DATETIME)) > dbo.LoadTestscheduler.StartDateTime AND (CAST('5/7/2006 1:10:00 AM' AS DATETIME)) < dbo.LoadTestscheduler.KillDateTime))
Result:-
0 0 2006-05-07 01:03:00.000 2006-05-09 01:04:00.000
|
|
|
|
|
I don't see your problem:
'5/7/2006 1:10:00 AM' is later than (>) 2006-05-07 01:03:00.000
AND
'5/7/2006 1:10:00 AM' is earlier than (<) 2006-05-09 01:04:00.000
Are you trying to compare just the time values, irrespective of the date?
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
Thanks for Quick Reply.
My Query is Long and involves join of two table. But, I found this perticular area where problem lies. I do not understand why it is not comparing with time. I want it to compare with date as well as time.
From Some of the Web site I found that I can compare Binary Values datetime field. But, when i do so, I am getting Arithmatic Overflow error. The link below has information for converting into binary. But, I does not work for me.
http://www.sql-server-performance.com/fk_datetime.asp
making even AM to PM or visa versa also does not work.
SELECT *
FROM dbo.LoadTestscheduler
WHERE '2006/05/07 1:10:00 PM' > dbo.LoadTestscheduler.StartDateTime AND '2006/05/07 1:10:00 PM' < dbo.LoadTestscheduler.KillDateTime
Can you tell me How can i convert my date to a perticular format?? Do I have to use CONVERT With/Without or In addition to CAST??
Thank you.
|
|
|
|
|
DotNetDominator wrote: My Query is Long and involves join of two table. But, I found this perticular area where problem lies. I do not understand why it is not comparing with time. I want it to compare with date as well as time.
From the examples you provided, it does appear to be working correctly, for the full datetime value (note the bolded date values in my previous post, the date difference makes the answer valid for the given query, since the supplied date-time falls between the two date-times in the returned row.)
Why do you think it is not working? I don't seem to understand what you are trying to accomplish. Perhaps some more examples (both good and bad) would clear this up for me.
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
Hi,
My Problem is solved. Credit goes to you. I was not really looking in to Day when i compared my value with start and end date. There was some error in my Logic.
I am really sorry for giving unnecessary trouble. I am really surprised, How can i make such foolish thing..
Thank you very for your help.
|
|
|
|
|
No problem. It's easy to overlook simple things in one's own code (I do it more often than I'd care to admit). That is one of the great values that comes from having others review your code (particularly when having a problem) - they will often see things you are temporarily blind to.
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
hi all i would like to know how to create a batch file that carries the schema and the data of database and run it on any pc to add the database with all the data in it in the SQL sever
i have seen such files but the idea of how to create one
thank u all
abdelhameed81
|
|
|
|
|
You can use SQL Enterprise Manager to script the database: select the tree node for the database you want to script, right click. Select 'All Tasks' then 'Generate SQL Scripts'
This will callup a dialog which will allow you to select which schema objects you want in the script, and what format you want for the script file (warning: the default is Unicode Text, change it if you want pain text).
To script the data, you must either write your own tool to "export" the data as text (INSERT Statements) or use the bulk copy tool (bcp) to export and import the data.
A simple and faster method of creating a copy of yur database (complete with data) is simply detach the database for the development server, copy the log and data files to the new server, and attach to the new server, specifing new locactions for the files if necessary. (you can include the data and log files in your installer, and run a script to attach them, if need be.)
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
Hi all,
I am doing a program with c# in which I am connecting it to an SQL database.
I have a button (called btnDelete) in which in it I have the following code:-
string query = ("DELETE FROM tblUsers WHERE User_name = ("+ txtDelete.Text +")");
SqlCommand myCommand = new SqlCommand();
myCommand.CommandText = query;
myCommand.Connection = myConnection;
myCommand.ExecuteNonQuery();
//Calling a method to update the database
UpdateDataIntoDatabase();
MessageBox.Show( "Deleted." );
When I run the program and click the delete button the following error occurs pointing in the myCommand.ExecuteNonQuery() part:-
An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in system.data.dll
Additional information: System error.
Can some one please tell me what do I have because I can't see anything wrong!
Thanks a lot guys
|
|
|
|
|
Hi,
replace your String Query to one given here.
string query = "DELETE FROM tblUsers WHERE User_name = '" + txtDelete.Text + "'";
I this should work now. Also, Just check your connection is open before you assign it to myCommand.
Thank you.
|
|
|
|
|
Ohh thanks... I arranged the quotes and it worked out
Thanks a lot!!
|
|
|
|
|
I case you can't see what's different in DotNetD's answer, he replaced the double quotes surrounding the textbox variable with single quotes.
I strongly recommend that you check out this[^] article by Colin Angus Mackay before someone types ';truncate table tblusers; in your textbox and destroys your database.
If you use parameters rather than direct text concatenation, you will avoid both the problem you are having now, and the vulnerability to sql injection attacks in your app.
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
-- modified at 10:07 Sunday 7th May, 2006
|
|
|
|
|
Hi,
I coldn't find the way how to enable remote users to run my reports from LAN an internet.I can run my reports in BI preview or on localhost, but from other pc it asks for username and password. Where can manage my users rols?
Can anybody send me a link to learn it?
Thanks
|
|
|
|
|
Hi,
I'm using ROUND in my SQL statement but I'm not getting the end result that I want. Using MS Access db with C#
Here is the statement
SELECT Price - ROUND(Price * Percent ,3)
Price = 28.50
Percent = 0.25
The end result I would like is: 28.50 - 7.13 = 21.37
What I'm getting is 21.38, it's like the ROUND is taking the whole statement and rounding the final result 21.375. Shouldn't it just ROUND what is in the ()?
Thanks for any help you can give,
Ron
|
|
|
|
|
SQL Round function rounds to the nearest even value.
select 28.50 - ROUND(28.50 * 0.25, 3) returns 21.375 (which will round up to 21.38)
select Round(28.50 - ROUND(28.50 * 0.25, 3),2) returns 21.38 (rounds up to 21.38)
If the precision in the rounding is chaged to 2 for the 'price*percent' term:
select 28.50 - ROUND(28.50 * 0.25, 2) returns 21.37
select Round(28.50 - ROUND(28.50 * 0.25, 2),2) returns 21.37
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
Thanks Rob, I really appreciate the info!
It looks like I shouldn't use ROUND, in my SQL because I'm wanting cash register type of rounding (always round up). It's too bad they don't have parameter options to select the type of rounding you want.
I have one other issue if you can help. I notice that if I use SUM(), it truncates to the decimal place the db columns are set to. Sometimes the SQL statement will calculate a value over the two decimal places. I need the SUM to give me at least 3 decimal places, so I can round up the value calculated. I can set one of the columns in the db (to 3 decimals) to achieve this, but I was wondering if there was a way to do this at the SQL statement?
Thanks!
Ron
|
|
|
|
|
myNameIsRon wrote: It looks like I shouldn't use ROUND, in my SQL because I'm wanting cash register type of rounding (always round up). It's too bad they don't have parameter options to select the type of rounding you want.
Actually, SQL servers Round( a,b,c) funtion is parameterized to select between "round up" (c==0) and truncate (C!=0)
select Round(1.5,0,0) -> 2.0 round up .5+
select round(2.5,0,0) -> 3.0 round up 2.5 and greater
select round(2.4,0,0) -> 2.0 round down 2.0 to 2.5 exclusive
select Round(1.5,0,1) -> 1.0
select round(2.5,0,1) -> 2.0
I think the problem with your example was just the wrong choice for the b ( # decimals)
parameter - you used 3, when what you wanted was 2 (assuming you wanted to round .005
and larger to .01 and .004 and smaller to 0.00. If what you realy wanted was to round
.11+ TO .12 , then use Ceiling(x *100)/100 - round any fraction to next highest integer
a good discussion of the varous rounding schemes can be found here.[^]
I think your observation on SUM() is correct, I know of no other solution.
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
-- modified at 18:31 Sunday 7th May, 2006
|
|
|
|
|
Thanks again for the great info Rob!
Yes, I should have been using 2 for the decimal place to round.
It apprears that with MS Access, I can't use the "c" parameter (I get an error that I'm using too many parameters).
I really don't want Bankers Rounding (even # to round up):
Round(0.005,2) = 0.00
Round(7.125,2) = 7.12
I want old school rounding )
Round(0.005,2) = 0.01
Round(7.125,2) = 7.13
Do you think I'll have to round the SQL result using something like this:
Floor(x * 100 + 0.5m)/100
to get what want?
thanks,
Ron
|
|
|
|
|
myNameIsRon wrote: really don't want Bankers Rounding (even # to round up):
SQL server uses "round up" not Banker's rounding (I was wrong about that in the first post). I think if you just change the 3 to a 2 you'll get what you want from SQL. Access may be a diffewrent matter, check the link in the previous post: it details rounding for all microsoft products (they are very inconsistent).
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|