Solved

How to get select rows or columns without using SQL statement

Posted on 2014-12-10
11
208 Views
Last Modified: 2014-12-17
Hi,

I'm trying to get values of a table that's in SQL server.   Currently we use

             
var selectproducts = new List<Product>();
 using (var newdb = new NorthWNDModel())
              {
                  selectproducts = newdb.Products.SqlQuery("dbo.GetProductsByCategory @p0", selectedCategoryID).ToList();
              }

Open in new window


We would like to get the tables without using SQL.   Is this possible?  We are using Entity Frame 6.1 Code First from Database.  If so, could you provide an example?  Thanks.

David
0
Comment
Question by:davidst98
  • 2
  • 2
  • 2
  • +2
11 Comments
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 40493931
Get something from SQL server without using SQL? no, it's not possible by definition. Any tool, wizard, LINQ, etc., would still be a wrapper around some SQL it would generate for the purpose.
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 40493950
if you refer to stored procedures, the "input" for the tool is then the procedure name, and the sql actually encapsulated into that stored procedure
you may want to move the access to a central web-service platform, which returns the data as needed, and "hiding" the sql there.
0
 
LVL 40
ID: 40494260
As vadimrapp1 told you, there need to be SQL somewhere for anything you want to retrieve from a database.

Guy hinted that you might want to hide the SQL for some reason. If anything else, please tell us why you want to get rid of the SQL statement, and we might be able to help you more precisely.
0
 
LVL 41

Accepted Solution

by:
pcelba earned 500 total points
ID: 40495047
Surely you can retrieve data without SQL...

SQL Server database is a disk file as any other file on your PC, so everything you need is to know the file structure and then some tool which will read data from this structure. You may write such program yourself.

The database structure is described e.g. here:
http://www.practicalsqldba.com/2013/09/sql-server-data-file-structure.html
http://www.pythian.com/blog/analyzing-sql-server-data-file-anatomy/
http://aboutsqlserver.com/tag/internal-structure/
https://www.simple-talk.com/sql/database-administration/sql-server-storage-internals-101/

I am not offering any code because this is not the way how we should use SQL Server data... If you do a regular database backup then the time to restore it is much lower than the time necessary to write a utility which will read the physical database file.

Remember the database file can be encrypted or placed in a cloud. In such case you have a lot of work to obtain readable data this way (comparing to simple backup/restore).
0
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
LVL 42

Expert Comment

by:EugeneZ
ID: 40495457
davidst98:

could you please clarify your question with some examples of your quest result?
0
 
LVL 41

Expert Comment

by:pcelba
ID: 40498464
Unbelievable :-)
Am I the only one who knows gurus reading or even fixing MS SQL .mdf files in hexa editor?
0
 
LVL 40
ID: 40498470
It's not that it is completely impossible. After all, as pcelba stated, is a disk file as any other file on your PC.

But trying to work directly on the file is a hack that is a pain to do. One has to be crazy or going after a lot of money to want to access SQL Server data without going through the server... thus SQL Statements.

This reminds me of hacks we did in the 80's because systems were slow and reading the disks directly enables us to improve the speed a little bit. You have no ideas how many disks were scrapped because a bit was written in the wrong place. Disks held only 350K of data, so where not too much trouble to recreate. But recreating a 10Gb database from scratch, that would not please your boss or your Customer. And many databases are much larger that that.

And the hack is impossible most of the time anyway, because the typical SQL Server database is on 24/24 and the file itself is thus locked for any process that does not go to the server, when they are not encrypted. I do not have the time to read them, but I suspect that the web pages referenced in the winning question assume that the server is down.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 40498502
"One of my favorite Real Programmers was a systems programmer for Texas Instruments. One day, he got a long distance call from a user whose system had crashed in the middle of saving some important work. Jim was able to repair the damage over the phone, getting the user to toggle in disk I/O instructions at the front panel, repairing system tables in hex, reading register contents back over the phone. The moral of this story: while a Real Programmer usually includes a keypunch and line printer in his toolkit, he can get along with just a front panel and a telephone in emergencies."

"Real Programmers Don't Use Pascal", DataMation, 1983

> And the hack is impossible most of the time anyway,

I suspect, even more important is that all this is about 10 light years away from what the author meant when he asked how to avoid SQL.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now