How to detect SQLServer 2005 ?

  • Thread starter Thread starter ad
  • Start date Start date
A

ad

How can I detect if my computer have installed SQLServer 2005 or SQLServer
2005 Express with program like c# or VB.NNET?
 
using System.ServiceProcess;
private void button1_Click(object sender, System.EventArgs e)
{
if(ExistSqlServerService())
{
MessageBox.Show("This computer has installed SQLServer");
}
else
{
MessageBox.Show("This computer hasn't installed SQLServer");
}
 
GuangXiN said:
using System.ServiceProcess;
private void button1_Click(object sender, System.EventArgs e)
{
if(ExistSqlServerService())
{
MessageBox.Show("This computer has installed SQLServer");
}
else
{
MessageBox.Show("This computer hasn't installed SQLServer");
}


where is ExistSqlServerService() method ?
 
ad said:
How can I detect if my computer have installed SQLServer 2005 or SQLServer
2005 Express with program like c# or VB.NNET?


Just execute a simple sql command to get it.

SqlCommand cmd = new SqlCommand(@"select @@VERION");
IDataReader drd = cmd.ExecuteReader();
drd.Read();
string version = drd.GetString(0);
// find version in string
if( version.Contain("Express") )
{
// Oh, we are in Express version
}
 
I miss some code

public static bool ExistSqlServerService() {
bool flag = false;
ServiceController[] services = ServiceController.GetServices();
for(int i = 0; i < services.Length; i++) {
if(services.DisplayName.ToString().Equals("MSSQLSERVER") {
flag = true;
break;
}
}
return flag;
}
 
GuangXiN said:
I miss some code

public static bool ExistSqlServerService() {
bool flag = false;
ServiceController[] services = ServiceController.GetServices();
for(int i = 0; i < services.Length; i++) {
if(services.DisplayName.ToString().Equals("MSSQLSERVER") {
flag = true;
break;
}
}
return flag;
}


The service can have different names.

Arne
 
Back
Top