winform如何拿到一个服务器中所有数据库名称

winform如何拿到一个服务器中所有数据库名称,第1张

/// <summary>

/// 获得目标服务器所有数据库

/// </summary>

/// <param name="serverName"></param>

/// <param name="userName"></param>

/// <param name="password"></param>

public void getDataBaseNameList(string serverName, string userName, string password)

{

SQLDMOApplication sqlApplication = new SQLDMOApplicationClass();

SQLDMOSQLServer sqlServer = new SQLDMOSQLServerClass();

sqlServerConnect(serverName, userName, password); // 连接服务器

foreach (SQLDMODatabase databBase in sqlServerDatabases)

{

if (databBaseName != null)

{

thisDataBaseTreeViewNodesAdd(databBaseName);

getDataBaseTableList(serverName, userName, password, databBaseName);

}

}

}

/// <summary>

/// 加载数据库中表

/// </summary>

/// <param name="serverName">服务器名</param>

/// <param name="userName">用户名</param>

/// <param name="password">密码</param>

/// <param name="dataBaseName">数据库名</param>

private void getDataBaseTableList(string serverName, string userName, string password, string dataBaseName)

{

SQLDMOSQLServer Server = new SQLDMOSQLServerClass();

//连接到服务器

ServerConnect(serverName, userName, password);

//对所有的数据库遍历,获得指定数据库

for (int i = 0; i < ServerDatabasesCount; i++)

{

//判断当前数据库是否是指定数据库

if (ServerDatabasesItem(i + 1, "dbo")Name == dataBaseName)

{

//获得指定数据库

SQLDMO_Database db = ServerDatabasesItem(i + 1, "dbo");

//获得指定数据库中的所有表

for (int j = 0; j < dbTablesCount; j++)

{

thisDataBaseTreeViewNodes[i]NodesAdd(dbTablesItem(j + 1, "dbo")Name);

}

}

}

}

/// <summary>

/// 获得表中所有列名

/// </summary>

/// <param name="serverName">服务器名</param>

/// <param name="userName">用户名</param>

/// <param name="password">密码</param>

/// <param name="tableName">表名</param>

/// <param name="dataBaseName">数据库名</param>

/// <returns></returns>

public string getRowListFromTable(string serverName, string userName, string password, string tableName, string dataBaseName)

{

string result = stringEmpty;

string connectionString = stringEmpty;

connectionString += "server=" + serverName;

connectionString += ";Pwd=" + password;

connectionString += ";UID=" + userName;

connectionString += ";Database=" + dataBaseName;

string commandString = stringEmpty;

commandString += "select name from syscolumns where id=object_id('";

commandString += tableName;

commandString += "')";

SqlConnection sqlConnection = new SqlConnection(connectionString);

SqlCommand sqlCommand = new SqlCommand(commandString, sqlConnection);

SqlDataAdapter dataAdapter = new SqlDataAdapter(commandString, sqlConnection);

DataSet dataSet = new DataSet();

dataAdapterFill(dataSet);

DataTable dataTable = dataSetTables[0];

// DataTable dataTable = sqlConnectionGetSchema("Tables");

foreach (DataRow row in dataTableRows)

{

result += row[0]ToString() + "-";

}

if (result != null)

{

return result;

}

else

{

return "0";

}

}

$query = " select from where title =$_POST[''] limit 1" ;

$res = mysql_query($query);

mysql_fetch_assoc(){ 具体的原函数忘记了,现在基本都用类封装好的数据库 *** 作很少用到这些函数了}

public void onItemClick(AdapterView<> parent, View view, int position, long id) { Systemoutprintln("当前值:"+position); Map<String, String> temp = mapget(position); //temp是该选项的内容 }

让listview设置监听器,这里需要提一下,我们最好是设置长按监听器,不然的话,你点击一下,得到了id,然后还要再长按一次,得到菜单,

因为长按只会触发OnItemLongClickListener,不会触发OnItemClickListener,当然你可以让OnItemLongClickListener返回的是false,这样就不会拦截事件了,但是只需要设置一个监听器岂不是更好,所以最好设置长按监听器。然后在其中写入如下代码:

View v=myListViewgetChildAt(position);

TextView t=(TextView) vfindViewById(RidmyTextView1);

itemid=tgetText()toString();

其中的第一行是得到listview中的item的布局,我这里是自定义的布局,用的是linearLayout,这里得到的也就是lineadlayout,第二行是得到

用于显示id的控件,我这里是用的TextView,它的id就是RidmyTextView1,如果你使用的是系统的布局,那么你的对应的id就是androidRi

dtext1,然后第三行就不用解释了,这样就得到了数据库中的id,当然你还可以得到别的很多数据。

实现思路:可以通过w3c的dom解析器进行 *** 作,之后通过getName获取到xmltpye中的属性值。

举例:

import javaioFile;

import javaxxmlparsersDocumentBuilder;

import javaxxmlparsersDocumentBuilderFactory;

import orgw3cdomDocument;

import orgw3cdomElement;

import orgw3cdomNodeList;

public class DomTest1

{

public static void main(String[] args) throws Exception

{

// step 1: 获得dom解析器工厂(工作的作用是用于创建具体的解析器)

DocumentBuilderFactory dbf = DocumentBuilderFactorynewInstance();

// Systemoutprintln("class name: " + dbfgetClass()getName());

// step 2:获得具体的dom解析器

DocumentBuilder db = dbfnewDocumentBuilder();

// Systemoutprintln("class name: " + dbgetClass()getName());

// step3: 解析一个xml文档,获得Document对象(根结点)

Document document = dbparse(new File("candidatexml"));

NodeList list = documentgetElementsByTagName("PERSON");

for(int i = 0; i < listgetLength(); i++)

{

Element element = (Element)listitem(i);

String content = elementgetElementsByTagName("NAME")item(0)getFirstChild()getNodeValue();

Systemoutprintln("name:" + content);

Systemoutprintln("--------------------------------------");

}

}

}

以上就是关于winform如何拿到一个服务器中所有数据库名称全部的内容,包括:winform如何拿到一个服务器中所有数据库名称、编写php文件, 获取mysql 数据库某个表中一条记录中的指定字段值。、android listview如何点击按钮获取所有item的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9774264.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存