关于窗体中数据库文件的操作

zxj2634 2010-09-23 04:33:42
private void button1_Click(object sender, EventArgs e)
{
//SqlConnection con = new SqlConnection("Data Source=.\\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|db.mdf");
SqlConnection con = new SqlConnection("server=.\\SQLExpress;database=db;integrated security=true;");
con.Open();
SqlCommand cmd = new SqlCommand("insert into bg (name,password) values('a','b')", con);
try
{
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("OK");
}
catch
{
MessageBox.Show("'ffffffffffffffffffff'");
con.Close();
}
}

在项目里面添加一个数据库文件db.mdf
用上面的语句操作,
为什么实现不了呢
...全文
74 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxj2634 2010-09-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fellowcheng 的回复:]
C# code
//操作数据库对象
#region operateDataBase(DDL)

/// <summary>
/// 附加数据库
/// </summary>
/// <param name="strCon">连接字符串</param>
/// <param name="DBName">要生成的数据库名</param>
/// <par……
[/Quote]

这个,这个是什么,我只是想看看一下简单的实现连接数据库文件的操作就好了
fellowcheng 2010-09-23
  • 打赏
  • 举报
回复
 //操作数据库对象
#region operateDataBase(DDL)

/// <summary>
/// 附加数据库
/// </summary>
/// <param name="strCon">连接字符串</param>
/// <param name="DBName">要生成的数据库名</param>
/// <param name="strMdf">mdf文件位置</param>
/// <param name="strLdf">ldf文件位置</param>
/// <returns></returns>
public bool attachDB(string strCon,string DBName,string strMdf,string strLdf)
{
bool bl=true;
try
{
cnn.ConnectionString=strCon;
if (cnn.State!=ConnectionState.Open)
cnn.Open();

cmd.Connection=cnn;
cmd.CommandText=@"sp_attach_db";
cmd.Parameters.Add(new OleDbParameter("@dbname",OleDbType.VarChar));
cmd.Parameters["@dbname"].Value=DBName;
cmd.Parameters.Add(new OleDbParameter("@filename1",OleDbType.VarChar));
cmd.Parameters["@filename1"].Value=strMdf;
cmd.Parameters.Add(new OleDbParameter("@filename2",OleDbType.VarChar));
cmd.Parameters["@filename2"].Value=strLdf;

cmd.CommandType=CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
}
catch
{
// MessageBox.Show(e.Message.ToString());
bl=false;
}
finally
{
cnn.Close();
}
return bl;

}

/// <summary>
/// 分离数据库
/// </summary>
/// <param name="strCon">连接字符串</param>
/// <param name="DBName">数据库名</param>
/// <returns></returns>
public bool detachDB(string strCon,string DBName)
{
bool bl=true;
try
{
cnn.ConnectionString=strCon;
if (cnn.State!=ConnectionState.Open)
cnn.Open();

cmd.Connection=cnn;
cmd.CommandText=@"sp_detach_db";
cmd.Parameters.Add(new OleDbParameter("@dbname",OleDbType.VarChar));
cmd.Parameters["@dbname"].Value=DBName;

cmd.CommandType=CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
}
catch
{
bl=false;
}
finally
{
cnn.Close();
}
return bl;
}

/// <summary>
/// 备份数据库
/// </summary>
/// <param name="strCon">连接字符串</param>
/// <param name="DBName">数据库名</param>
/// <param name="backupName">备份名</param>
/// <param name="backupFile">备份文件位置</param>
/// <returns></returns>
public bool BackUpDB(string strCon,string DBName,string backupName,string backupFile)
{
bool bl=true;
try
{
cnn.ConnectionString=strCon;
if (cnn.State!=ConnectionState.Open)
cnn.Open();

cmd.Connection=cnn;
cmd.CommandText=@"BACKUP DATABASE "+DBName+" to disk='"+backupFile+"'"+
"WITH NOINIT , NOUNLOAD , NAME = N'"+backupName+"', NOSKIP , STATS = 10, NOFORMAT ";
cmd.CommandType=CommandType.Text;
cmd.ExecuteNonQuery();
}
catch
{
bl=false;
}
finally
{
cnn.Close();
}
return bl;
}

/// <summary>
/// 还原数据库
/// </summary>
/// <param name="strCon">连接字符串</param>
/// <param name="DBName">数据库名</param>
/// <param name="backupFile">备份文件位置</param>
/// <returns></returns>
public bool restoreDB(string strCon,string DBName,string backupFile)
{
bool bl=true;
try
{
cnn.ConnectionString=strCon;
if (cnn.State!=ConnectionState.Open)
cnn.Open();

cmd.Connection=cnn;
cmd.CommandText=@"RESTORE FILELISTONLY from disk='"+backupFile+"'";
cmd.CommandType=CommandType.Text;
cmd.ExecuteNonQuery();
}
catch
{
bl=false;
}
finally
{
cnn.Close();
}
return bl;
}

public static void DbBackup(string strHost,string strUserName,string strUserPwd,string strDBName,string strDBBakName)
{
SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
try
{
oSQLServer.LoginSecure = false;
oSQLServer.Connect(strHost,strUserName,strUserPwd);
oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
oBackup.Database = strDBName;
oBackup.Files = strDBBakName;
oBackup.BackupSetName = strDBName;
oBackup.BackupSetDescription = "数据库备份";
oBackup.Initialize = true;
oBackup.SQLBackup(oSQLServer);
}
catch
{
throw;
}
finally
{
oSQLServer.DisConnect();
}
}
///
/// 数据库恢复
///
public static void DbRestore(string strHost,string strUserName,string strUserPwd,string strDBName,string strDBBakName)
{
SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
try
{
oSQLServer.LoginSecure = false;
oSQLServer.Connect(strHost, strUserName,strUserPwd);
oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
oRestore.Database = strDBName;
oRestore.Files = strDBBakName;
oRestore.FileNumber = 1;
oRestore.ReplaceDatabase = true;
oRestore.SQLRestore(oSQLServer);
}
catch
{
throw;
}
finally
{
oSQLServer.DisConnect();
}
}


#endregion

创建数据库要用创建数据库的命令
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧