|
Hi
Thanks for the help but i am unable to get what is SQLBuilder utilities.
I am having this error
"The name 'SQLBuilderUtilities' does not exist in the current context "
kindly tell me what to do
regards,
|
|
|
|
|
Sorry, my fault.
In my App (called SQLBuilder) I have a separate class (Utilities), which contains the ReaderToTable method. Just delete the SQLBuilderUtilities bit and all should be well.
I have modified my post with the code in, by striking out the problem bits. Please note that this includes the static access modifier from the ReaderToTable method.
If you just put that in your class all should now be well.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
Hi
thank you so much for every thing but i am really sorry i am still having problem,actully now all the databases are also coming in the tree node but
inside the databases nodes only table is coming and the more big problem is all the databases are loading master tables.... i am sending you my code, i am calling it on the strip menu so i will u the code from i am calling aswell ,i am really sorry but i am unable to figure out..
private void sQLServer2005ToolStripMenuItem_Click(object sender, EventArgs e)
{
parentNode = new TreeNode();
DBTree.Nodes[0].Text = Show_SqlConnection();
parentNode.Text = "Databases";
DBTree.Nodes[0].Nodes.Add(parentNode);
LoadSQL_DB(parentNode);
}
public void LoadSQL_DB(TreeNode DB)
{
DataTable table = new DataTable();
SqlConnection sqlConnection1 = new SqlConnection();
TreeNode treeNode;
TreeNode tablesNode;
int count = 0;
SqlCon = new SqlConnection("Data Source= Localhost; Integrated security=True;database='' ");
SqlCon.Open();
SqlCom = new SqlCommand();
SqlCom.Connection = SqlCon;
SqlCom.CommandType = CommandType.StoredProcedure;
SqlCom.CommandText = "sp_databases";
SqlCom.Connection = SqlCon;
SqlDR = SqlCom.ExecuteReader();
table = ReaderToTable(SqlDR);
foreach (DataRow row in table.Rows)
{
treeNode = new TreeNode();
treeNode.Text = row["DATABASE_NAME"].ToString();
DB.Nodes.Add(treeNode);
DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes.Add("Tables");
tablesNode = new TreeNode();
LoadSQL_Tables(treeNode);
DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes.Add("Stored Procedure");
DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes.Add("Views");
DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes.Add("Roles");
count++;
}
SqlDR.Close();
SqlCon.Close();
public void LoadSQL_Tables(TreeNode arg_dbNode)
{
TreeNode table_node;
SqlCon = new SqlConnection("Data Source= Localhost; Integrated security=True;database=master");
SqlCon.Open();
SqlCom = new SqlCommand();
SqlCom.Connection = SqlCon;
SqlCom.CommandType = CommandType.Text;
SqlCom.CommandText = "select * from sysobjects where type = 's' order by name";
SqlDR = SqlCom.ExecuteReader();
while (SqlDR.Read())
{
table_node = new TreeNode();
table_node.Text = SqlDR.GetString(0);
arg_dbNode.Nodes.Add(table_node);
}
}
regards,
mariam
|
|
|
|
|
and this is my DataTable ReaderToTable fuction
public DataTable ReaderToTable(SqlDataReader reader)
{
DataTable newTable = new DataTable();
DataColumn col;
DataRow row;
int i;
for (i = 0; i < reader.FieldCount; i++)
{
col = new DataColumn();
col.ColumnName = reader.GetName(i);
col.DataType = reader.GetFieldType(i);
newTable.Columns.Add(col);
}
while (reader.Read())
{
row = newTable.NewRow();
for (i = 0; i < reader.FieldCount; i++)
{
row[i] = reader[i];
}
newTable.Rows.Add(row);
}
return newTable;
}
|
|
|
|
|
Thanks for the code.
I'm going to set up a project to run it in. So far I have only been reading it.
This may take a little time, so be patient.
I'll get back to you later.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
When I started trying to help you, I just tried to get your code working for you. Trying out your code has made me realize that part of what I was telling you to do would make your code run very slowly. Filling the TreeView with all of the data in one go would take a very long time.
So I am suggesting that you just get the names of the databases and add a node for each. Each of these database nodes has nodes for Tables, Views etc. But do not fetch the data for these until the user tries to expand them. So that the expand icon shows up for these nodes, they each have an empty node added. This is removed later when it is not needed.
This code works correctly on my system. The only difference between my system and yours is the name of the server. I have tried to change this code so that it will work on your system exactly as it is. Try to use it as it is first, before you alter the layout etc. to suit your style of working.
private TreeNode parentNode;
private readonly string connString = "server={0};Integrated Security=true;database={1}";
private void sQLServer2005ToolStripMenuItem_Click(object sender, EventArgs e)
{
parentNode = new TreeNode();
DBTree.Nodes.Add(Show_SqlConnection());
parentNode.Text = "Databases";
DBTree.Nodes[0].Nodes.Add(parentNode);
LoadSQL_DB(parentNode);
}
public void LoadSQL_DB(TreeNode DB)
{
DataTable table;
TreeNode treeNode;
TreeNode tempNode;
int count = 0;
using (SqlConnection SqlCon = GetConnection(@"Localhost", ""))
{
SqlCommand SqlCom = new SqlCommand();
SqlCom.Connection = SqlCon;
SqlCom.CommandType = CommandType.StoredProcedure;
SqlCom.CommandText = "sp_databases";
SqlCon.Open();
SqlDataReader SqlDR = SqlCom.ExecuteReader();
table = ReaderToTable(SqlDR);
}
foreach (DataRow row in table.Rows)
{
treeNode = new TreeNode();
treeNode.Text = row["DATABASE_NAME"].ToString();
tempNode = treeNode.Nodes.Add("Tables");
tempNode.Nodes.Add("");
tempNode = treeNode.Nodes.Add("Stored Procedure");
tempNode.Nodes.Add("");
tempNode = treeNode.Nodes.Add("Views");
tempNode.Nodes.Add("");
tempNode = treeNode.Nodes.Add("Roles");
tempNode.Nodes.Add("");
count++;
DB.Nodes.Add(treeNode);
}
}
public void LoadSQL_Tables(TreeNode arg_dbNode, string database)
{
DataTable table;
using (SqlConnection SqlCon = GetConnection("Localhost", database))
{
SqlCommand tablesCommand = new SqlCommand();
tablesCommand.CommandType = CommandType.StoredProcedure;
tablesCommand.CommandText = "sp_tables";
tablesCommand.Parameters.Add("@table_qualifier", SqlDbType.NVarChar, 384).Value = database;
string paramString = "'TABLE'";
tablesCommand.Parameters.Add("@table_type", SqlDbType.VarChar, 32).Value = paramString;
tablesCommand.Connection = SqlCon;
SqlCon.Open();
SqlDataReader SqlDR = tablesCommand.ExecuteReader();
table = ReaderToTable(SqlDR);
}
foreach (DataRow row in table.Rows)
{
arg_dbNode.Nodes.Add(row["TABLE_NAME"].ToString());
}
arg_dbNode.Nodes.RemoveAt(0);
}
private SqlConnection GetConnection(string server, string database)
{
return new SqlConnection(string.Format(this.connString, server, database));
}
public DataTable ReaderToTable(SqlDataReader reader)
{
DataTable newTable = new DataTable();
DataColumn col;
DataRow row;
int i;
for (i = 0; i < reader.FieldCount; i++)
{
col = new DataColumn();
col.ColumnName = reader.GetName(i);
col.DataType = reader.GetFieldType(i);
newTable.Columns.Add(col);
}
while (reader.Read())
{
row = newTable.NewRow();
for (i = 0; i < reader.FieldCount; i++)
{
row[i] = reader[i];
}
newTable.Rows.Add(row);
}
return newTable;
}
private void DBTree_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
if ((e.Node.Nodes.Count == 1) && (e.Node.Nodes[0].Text == ""))
{
switch (e.Node.Text)
{
case "Tables":
LoadSQL_Tables(e.Node, e.Node.Parent.Text);
break;
}
}
}
Good Luck!
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
Hi
Thank you so much i'll check it and then will tell you, but really thanks alot
regards,
mariam
|
|
|
|
|
Hi
i have tried yor code but even then the tables and stuff were note coming,it was displaying empty table's node.but then with the help of my teacher i resolved the problem,u can also check it as under:
public void LoadSQL_DB(TreeNode DB)
{
DataTable table = new DataTable();
SqlConnection sqlConnection1 = new SqlConnection();
TreeNode treeNode;
int count = 0;
SqlCon = new SqlConnection("Data Source= Localhost; Integrated security=True;database=master ");
SqlCon.Open();
SqlCom = new SqlCommand();
SqlCom.Connection = SqlCon;
SqlCom.CommandType = CommandType.StoredProcedure;
SqlCom.CommandText = "sp_databases";
SqlCom.Connection = SqlCon;
SqlDR = SqlCom.ExecuteReader();
table = ReaderToTable(SqlDR);
foreach (DataRow row in table.Rows)
{
treeNode = new TreeNode();
treeNode.Text = row["DATABASE_NAME"].ToString();
DB.Nodes.Add(treeNode);
DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes.Add("Tables");
DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes.Add("Stored Procedure");
DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes.Add("Views");
DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes.Add("Roles");
if (DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes[count].Text == "Tables")
{
LoadSQL_Tables(DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes[count], treeNode.Text);
if (DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes[count+1].Text == "Stored Procedure")
LoadSQL_StoedProcedures(DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes[count + 1], treeNode.Text);
if (DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes[count + 2].Text == "Views")
LoadSQL_Views(DB.Nodes[DB.Nodes.IndexOf(treeNode)].Nodes[count + 2], treeNode.Text);
}
}
SqlDR.Close();
SqlCon.Close();
}
thanks for the help
regards,
|
|
|
|
|
|
ok thanks again
regards,
mariam
|
|
|
|
|
Hi All,
i want to create the moving chart in windows application like it is displaying the current data getting from any hardware device,how will it be possible.
Please help
Thanks and Regards,
Lalit Narayan
|
|
|
|
|
|
|
Hi All,
I'm just working with the Dns class and have a need to use IP addresses. At the moment I'm just retrieving a list of IP addresses using the GetHostByName method and then validing the format of each IP address.
The issue is that I'm then going to use this as a base for producing some service endpoints. I want to make sure that the IP address I use is correct for the machines identity on our network rather than just grabbing the first IP address in the list which seems a bit random.
Should I be calling a domain controller and confirming with it that the IP address I plan to use is the 'correct' one?
Cheers,
|
|
|
|
|
I'd imagine if the Dns class returned the IP address for the hostname you were looking for (or the other way around), then that would be the correct IP address. If it is the wrong IP address, the host you are looking for either changed names or is offline.
|
|
|
|
|
Hi,
Actually I'm using IPEntry on the machine I want to get the network IP for. When using IPEntry you get back IPAddress[] so currently I'm just taking the entry at position 0 which to me seems a bit prone to errors to rely on there being the actual machine network IP address at position 0.
Cheers,
|
|
|
|
|
i have a question about DCT..actually it's sound like silly question but it's important for me..
The question is:
1. Why on DCT the function use a cosine function, if we see on the image and the
function there is no connection with angle.
2. Why the function using cosine, why not using sine or tangen? what is the influence
for the compression ratio?.
3. Is it true that we using the pixel depth for making 8x8 matix as the input for DCT,
if it's true how to get a pixel depth on image in C# so we could make the 8x8 matrix.
thanks.. God bless you
|
|
|
|
|
Hi,
with a general question like that, you should do some research first. Here[^] is something worth reading.
1. because it works well
2. sine could be used equally well, tangent would be harder to use due to it frequently becoming infinite
3. No
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
I need some Idea to implement this .
1.User will download One exe from my web sites. [Windows Application ]
2.When user run that exe, It will perform some operation on client system and it will call one of my web services to update my database with some information.
Is it possible to create the dynamic build with each user ID. Means I need to identify that user that who is calling my web services and based on that I will update my database.
Say when it call my webmethod updateDB, it will call like
updateDB(int userID, string systeminfo)
Here I need to identify the UserID.
Any Suggestion or any other idea to achieve this ?
Thanks in advance !!
cheers,
Abhijit
CodeProject MVP
|
|
|
|
|
Just reformulating your question, to verify that I've understood the question. You want to embed some UserID-marker in your excutable/class library, before it gets downloaded and installed?
I are troll
|
|
|
|
|
Eddy Vluggen wrote: You want to embed some UserID-marker in your excutable/class library, before it gets downloaded and installed?
Exactly Eddy . And its a windows application. Any idea
Thanks in advance !!
cheers,
Abhijit
CodeProject MVP
|
|
|
|
|
My original suggestion would be to read the MAC-address once you're on the client, and send that back, but that's private information of the customer, and in some countries you'd need the clients' consent to do so. That's one option down.
Another approach would be to compile a personalized version, build and create a setup, prior to downloading. That would mean that there's a delay in the download, and possibly a rather huge load on your webserver. That's two options down.
Perhaps you can download an addendum after the first install? That wouldn't delay the initial download, and you could easily compile a small classlibrary. The application shouldn't be able to run without this library, and it should be signed (to prevent tampering).
Perhaps you can even delay the compiling and the building; if you were to download the sourcecode for your custom key-classlibrary, you could compile once it's downloaded. That would make it harder to sign that classlib, but would remove the compilingprocess from your server and onto the client-machine.
I hope that someone can give some idea's that are more efficient/easier to implement
I are troll
|
|
|
|
|
First of all thanks for your time
Eddy Vluggen wrote: approach would be to compile a personalized version, build and create a setup, prior to downloading.
How will I do that? Suppose user click on download and I generate the userID as U123. Now how do i embed it with that exe, and I need to use the same from exe to call my web service and database based on userID.
Please help.
Thanks!
cheers,
Abhijit
CodeProject MVP
|
|
|
|
|
I've never done this, but have seen something similar in ASP.NET. You can catch the moment that someone wants to download a file. First, you'd have to encrypt the string and embed it in your sourcecode. The WebApp can only compile your application if it has access to the source-code of what it's supposed to compile. That's why I suggested that you put it in a classlibrary, besides the applications' executable.
The steps involved would be something like this;
- Generate a key, crypt it, and add the key to the DB as "taken".
- Write the source for a dll that returns this key on demand
When you start your executable;
- Check if your classlibrary is in place, if not:
- Start the download of the class-library (from code, or manual)
- The WebApp gets requested to download a file, compiles the classlib with the embedded string and push the generated file.
I'll try to build a small prototype to do this thing, might take a while
I are troll
|
|
|
|
|
Eddy Vluggen wrote:
When you start your executable;
- Check if your classlibrary is in place, if not:
- Start the download of the class-library (from code, or manual)
- The WebApp gets requested to download a file, compiles the classlib with the embedded string and push the generated file.
Eddy thats sounds good. and am starting some prototyping. Thanks again.
Eddy Vluggen wrote: I'll try to build a small prototype to do this thing, might take a while
Not a Issue. Please update me on same.
Thanks!!!
cheers,
Abhijit
CodeProject MVP
|
|
|
|