|
The answer to both of the above depends on the table design.
If the table has a defined primary key, then you could do 1) as
select top 4 * from mytable order by mykey ASC/DESC (whether you need ASCending or Descending depends on how you defined the key...)
how to get a range (2) is more challenging
if the table contains an identity field (need not be part of the primary key), and records in the table never get deleted, you could use the identity as record index: select * from mytable where myindex > 8 and myindex < 16
otherwise, you would need something cumbersome like:
select top 6 * from mytable where myidentity not in (select top 8 myidenty from mytable)
if there is no identity field, then the notion of nth record is possibly arbitrary and variable over time...
|
|
|
|
|
I have a project I'd like to tackle for a friend, but I'm not sure of the best way to attack it. He runs a Karaoke business, and currently runs a thoroughly inadequate system for tracking his tunes and printing songbooks. I can bang out a better one in an hour using Access, but he can't afford to buy the program to get the runtime stuff he needs to use what I build him. I can distribute MSDE, and have it available to do so, but I'm not sure what is the smartest way to tackle this - build a db in SQL Server directly and export it for use with MSDE, or do the whole app in Access and use to upsizing wizard to mate it with MSDE. Does anyone have any experience with this that would like to share some wisdom on the matter?
"How many times do I have to flush before you go away?" - Megan Forbes, on Management (12/5/2002)
|
|
|
|
|
Roger Wright wrote:
build a db in SQL Server directly and export it for use with MSDE
MSDE = SQL, no need to export, just detach the file, and attach it to MSDE
Personally I have found moving to SQL(MSDE) from Access was painfull, there were alot of queries that needed to be changed. Best bet is to start straight on SQL. Perhaps the design part can be done in Access then use the upsizing wizard to create the SQL db, and then continue from there.
Secondly, depending on the language (.NET will be a big RAD boost here) VS.NET has adequete tools to allow you to create all the queries you need.
Thirdly, I have found access is slow, very slow compared to SQL, even just for small queries.
Lastly, regarding licensing. If you will be only using an Access file and write your own frontend, that should not be a problem, and that is the route to go for MSDE as well.
I think the choice is clear
WebBoxes - Yet another collapsable control, but it relies on a "graphics server" for dynamic pretty rounded corners, cool arrows and unlimited font support.
|
|
|
|
|
leppie wrote:
I think the choice is clear
Methinks you're right. Thanks!
"How many times do I have to flush before you go away?" - Megan Forbes, on Management (12/5/2002)
|
|
|
|
|
I second Leppies advice. If you have access to either SQL Server tools (enterprise manager, Query analyzer) or to Visual Studio .Net, I would work directly in SQL server. If using .Net for the application use the System.Data.SqlClient namespace rather than the Oledb namespaces; they are much more performant. You can either just "detach" your developer db and distribute a copy (use OSQL to attach it: see sp_attach_single_file_db stored proc documentation) or export scripts that can be read with OSQL to build it after installing MSDE. You may also want to write some scripts to schedule routing backups and other maintenance (note that if you build these with Enterprise manager, the get installed in MSDB not your database, making life a bit more difficult.
VS.Net has a rather good integration with SQL for developers (server explorer)...
|
|
|
|
|
Thanks for the suggestion! This is going to be fun...
"How many times do I have to flush before you go away?" - Megan Forbes, on Management (12/5/2002)
|
|
|
|
|
I blindly installed SQL Server 2000 (I know - bad idea...) and have a service that is launched as \\MYCOMPUTER\NetSDK. When I'm following other code examples, they generally use "localhost" at the server. I would rather not change every example and just use localhost. How do I change mine from "MYCOMPUTER\NetSDK" to "localhost"?
Thanks in Advance!
Derek
|
|
|
|
|
As long as you are running on the same system as the server 'localhost' should always work.
you can also try to use '127.0.0.1'
Paul Watson wrote:
"At the end of the day it is what you produce that counts, not how many doctorates you have on the wall."
George Carlin wrote:
"Don't sweat the petty things, and don't pet the sweaty things."
|
|
|
|
|
I tried both 'localhost' and '127.0.0.1' and get the following error:
"Sql Error: SQL Server does not exist or access denied."
If I specify 'MYCOMPUTER\NetSDK', it works fine.
My SQL Server system tray icon displays:
"Running - \\MYCOMPUTER\NetSDK - MSSQLServer"
Is there any SQL Server 2000 setting I'm missing?
|
|
|
|
|
It looks as if you installed a named instance of the server.
You could access it using localhost\NetSDK or 127.0.0.1\NetSDK or .\NetSDK
|
|
|
|
|
Thanks for the reply. 127.0.0.1\NetSDK and .\NetSDK worked, but localhost\NetSDK didn't. Should localhost be added to my hosts file to be recognized?
Also, is there a way to rename the instance of the server and drop the "\NetSDK" part? Or do I have to delete the instance and start over?
Thanks in Adavance!
|
|
|
|
|
The easiest and most foolprof answer is to uninstall the current installation and re-install choosing Default instance instead of Named instance...
|
|
|
|
|
Uninstalling and re-installing worked - thanks for the help!
|
|
|
|
|
Try (localhost)\NetSDK instead. That might work.
Also, you're probably better off just reinstalling the SQL Server. Detach any databases you've set up and reattach them once you've reinstalled SQL.
|
|
|
|
|
Uninstalling and re-installing worked - thanks for the help!
|
|
|
|
|
I am in search of ADO library in C++ (non MFC) with the help of which I can easily connect to data base server, execute queries and stored procedures. If you know any thing like that then do let me know. The is one at CP here, it is excellent but it has few problems like it is not UNICODE compliant and uses MFC...
If you know any thing like that then do tell me please.
|
|
|
|
|
You could #import the ADO COM libraries and do it that way?
Dave
|
|
|
|
|
it would take less than 1/2 a day to remove the MFC stuff - it mainly uses CString and an MFC derived exception class - all of which you can replace out - as for Unicode - it should be easy enough - though he does use CString he has only missed the _T() in a few places
Technically speaking the dictionary would define Visual Basic users as programmers. But here again, a very generalized, liberal definition is being employed and it's wrong - just plain wrong - Tom Archer 5/12/02
|
|
|
|
|
SqlDumpExceptionHandler: Process 66 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
We have a web app that occasinally throws this error enough times to be irratating and yet I can't work out the problem - it only happens from when my office inmate accesses the web app on my machine but it is using his SQL Server (go figure)
Any clues
ps we are using SQL2000
Technically speaking the dictionary would define Visual Basic users as programmers. But here again, a very generalized, liberal definition is being employed and it's wrong - just plain wrong - Tom Archer 5/12/02
|
|
|
|
|
I have a table tab with a field of type Time and a couple of records in that table.
If i call select * from tab from mysql console, the result is ok, displaying time in normal format.
When i do the same using ADO, the result will contain variants of type VT_DATE with fields having the current date added to the time.
For example, 10:10:10 in mysql console becomes 2002-12-12 10:10:10 AM with ADO.
Is there a reason for such behaviour? And how could i make ADO return Time in the correct format?
rechi
|
|
|
|
|
I've created a stored procedure using SQL server query analyzer. The procedure takes single argument which is an output variable and return certain integer value. The procedure is something like this:
CREATE PROCEDURE DBO.MUMAdds
@addtype int <code>output</code>
AS
SET @addtype=100
return 20
GO
Now i want to execute this procedure using query analyzer, in order to get two values i.e the value this function return and the output value that is passed as a parameter to this procedure.
Can anyone tell me that how can i execute this procedure i.e supplying paremeter variable and getting returned value in a variable ????
|
|
|
|
|
Shamoon wrote:
Now i want to execute this procedure using query analyzer, in order to get two values i.e the value this function return and the output value that is passed as a parameter to this procedure.
DECLARE @addtype int
execute mumadds @addtype OUTPUT
print @addtype
But I am not sure how you get the "return 20" back, probably best to make it an output param.
Paul Watson Bluegrass Cape Town, South Africa Christopher Duncan wrote:
Which explains why when Santa asked, "And what do you want for Christmas, little boy?" I said, "A life." (Accesories sold separately)
|
|
|
|
|
<br />
DECLARE @res int<br />
DECLARE @addtype int<br />
EXEC @res = dbo.MUMAdds @addtype OUTPUT<br />
But it's better to use an output parameter instead...
|
|
|
|
|
Alex Kay wrote:
DECLARE @res int
DECLARE @addtype int
EXEC @res = dbo.MUMAdds @addtype OUTPUT
Thanks Alex.
Paul Watson Bluegrass Cape Town, South Africa Christopher Duncan wrote:
Which explains why when Santa asked, "And what do you want for Christmas, little boy?" I said, "A life." (Accesories sold separately)
|
|
|
|
|
How to Connect to ODBC (SQL SERVER 2000)
through ADO
which provider should be used
|
|
|
|