C#中 winform dataGridview 如何写入数据库mdf文件。下面是代码和保存按钮下的代码

C#中 winform dataGridview 如何写入数据库mdf文件。下面是代码和保存按钮下的代码,第1张

//连接数据库

static string str = "server=(local);database=saleDB;integrated security=true";

SqlConnection conn = null;

SqlCommand comm = null;

//创建一个适配器

SqlDataAdapter da;

private void btnShow_Click(object sender, EventArgs e)

{

conn = new SqlConnection(str);

//SQL语句

comm = new SqlCommand("SELECT FROM productInfo", conn);

//读取数据库中的文件,然后写入da中

da = new SqlDataAdapter(comm);

//在内存中创建一个临时的表table

DataTable table = new DataTable();

//读取数据库,填充表

daFill(table);

dataGridView的文件源DataSource为那个临时表table

thisdataGridViewDataSource = table;

}

您想问的是winform *** 作数据库可以让多人使用吗?winform *** 作数据库可以让多人,因为winform *** 作数据库是支持多线程 *** 作的,多线程 *** 作也就是多个人进行编辑,所以winform *** 作数据库可以让多人使用。

winformconfig文件连服务器数据库启动很慢,解决方法:

1、修改服务器中SQL Server可使用的最大内存。(注意,SQL Server占用的最大内存一般不要超过系统实际内存的50%、最大不要超过75%,以免导致IIS等内存不够,拖累整个OA无法正常使用。)

2、打开 SQL Server 配置管理器(点击:开始-》所有程序--》microsoft SQL SERVER 2005-->配置工具--》SQL Server Configuration Manager),

最后,重新启动SQL Server服务,终于看到了久违的光速了,一切恢复正常,登入SQL Server Management Studio,即使不加端口号,也不影响。登录点晴OA系统也恢复到了正常的速度。

/// <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";

}

}

WinForm c# 备份 还原 数据库, 其实是个非常简单的问题,一个Form,一个Button,一个OpenFileDialog,一个SaveFileDialog下面给出备份与还原类

using System;

using SystemCollectionsGeneric;

using SystemText;

using SystemData;

using SystemDataSqlClient;

using SystemIO;

using SystemCollections;

using SystemWindowsForms;

namespace 我的备份与还原

{

class 备份与还原数据库

{

static string connectionString = "server=;database=master;uid=sa;pwd=";

SqlConnection conn = new SqlConnection(connectionString);

/// <summary>

/// 备份指定的数据库文件

/// </summary>

/// <param name="databasename">要还原的数据库</param>

/// <returns></returns>

public bool BackUpDataBase( string databasefile)

{

if (!FileExists(databasefile))

{

}

//还原的数据库MyDataBase

string sql = "BACKUP DATABASE " + "MyDataBase" + " TO DISK = '" + databasefile + "bak' ";

connOpen();

SqlCommand comm = new SqlCommand(sql, conn);

commCommandType = CommandTypeText;

try

{

commExecuteNonQuery();

}

catch (Exception err)

{

string str = errMessage;

connClose();

return false;

}

connClose();//关闭数据库连接

return true;

}

//以下是还原数据库,稍微麻烦些,要关闭所有与当前数据库相连的连接

//------------------------------------------------------------------------------------------

public string RestoreDatabase(string backfile)

{

///杀死原来所有的数据库连接进程

SqlConnection conn = new SqlConnection();

connConnectionString = "Data Source=;Initial Catalog=master;User ID=sa;pwd =";

connOpen();

string sql = "SELECT spid FROM sysprocesses ,sysdatabases WHERE sysprocessesdbid=sysdatabasesdbid AND sysdatabasesName='" +

"MyDataBase"+ "'";

SqlCommand cmd1 = new SqlCommand(sql, conn);

SqlDataReader dr;

ArrayList list = new ArrayList();

try

{

dr = cmd1ExecuteReader();

while (drRead())

{

listAdd(drGetInt16(0));

}

drClose();

}

catch (SqlException eee)

{

MessageBoxShow(eeeToString());

}

finally

{

connClose();

}

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

{

connOpen();

cmd1 = new SqlCommand(stringFormat("KILL {0}", list[i]ToString()), conn);

cmd1ExecuteNonQuery();

connClose();

MessageBoxShow("系统已经清除的数据库线程: " + list[i]ToString() + "\r\n正在还原数据库!");

}

//这里一定要是master数据库,而不能是要还原的数据库,因为这样便变成了有其它进程

//占用了数据库。

string constr = @"Data Source=;Initial Catalog=master;User ID=sa;pwd =";

string database = MyDataBase;

string path = backfile;

string BACKUP = StringFormat("RESTORE DATABASE {0} FROM DISK = '{1}'", database, path);

SqlConnection con = new SqlConnection(constr);

SqlCommand cmd = new SqlCommand(BACKUP, con);

conOpen();

try

{

cmdExecuteNonQuery();

MessageBoxShow("还原成功,点击退出系统!");

ApplicationExit();

}

catch (SqlException ee)

{

//throw(ee);

//MessageBoxShow("还原失败");

MessageBoxShow(eeToString());

}

finally

{

conClose();

}

return "成功与否字符串";

}

}

}

winform遍历多个excel的方法如下:

1、将DataTable和现有列表数据合并作为新的数据源绑定到TreeList(或者与源列表数据进行对比,已存在的商品更新信息,不存在的添加进来。),这里导入数据到界面不要对父节点做任何处理,只更新商品信息。

2、重新计算父节点分类的金额(递归),导入数据,界面展示就算完成。

3、提交后台采用创建数据库临时表(#temp),先将所有数据存放在临时表,通过updateselect|insertselect方式保存到数据库。

以上就是关于C#中 winform dataGridview 如何写入数据库mdf文件。下面是代码和保存按钮下的代码全部的内容,包括:C#中 winform dataGridview 如何写入数据库mdf文件。下面是代码和保存按钮下的代码、winform *** 作数据库可以让让多人使用、winformconfig文件连服务器数据库启动很慢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10170287.html

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

发表评论

登录后才能评论

评论列表(0条)

保存