配置文件读取后进行删除数据|用C语言读取一个文件中的内容如何对不同的行进行解析比如是配置文件

㈠ c#中选中dataGridView的一行或者多行,然后删除数据库对应的数据

string cmdText = "delete from 图书表 where 图书编号[email protected]"; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data source=你的数据库名字.mdb"; OleDbCommand cmd = new OleDbCommand(cmdText, conn); cmd.Parameters.Add("@bookid", SqlDbType.Char, 15); conn.Open(); foreach (DataGridViewRow dgvRow in dgvShowData.SelectedRows) { cmd.Parameters["@bookid"].Value = dgvRow.Cells[0].Value; dgvShowData.Rows.Remove(dgvRow); cmd.ExecuteNonQuery(); } conn.Close(); //dgvShowData 这个是你的dataGridView控件名称 代码去看看吧!刚好我在做这种的。 这段加在你的删除按钮的Click事件里面 ==================================== 我写的一个类 从 配置文件读取 连接字符串 来着 用 access 和 上面的一是个道理的====================================我改好了 应该OK了吧?SQL语句你自己看着改吧~

㈡ 怎么删除数据文件

逗开始地—进入逗控制面板地,然后找到逗邮件地,打开,然后有个逗配置文件地,点击逗显示配置文件地。把里面有的所有配置文件都删除就行了 一般是只有一个。删除就OK了。这样 outlook2012所有数据都会删除,跟你刚装完是一样的,再打开 就会提醒你重新配置了。

㈢ 易语言问题 写配置项读取后会自动删除啥问题在线等

您好,您提供的源代码链接无法访问,提示链接不存在。

根据您提问的标题所做的模糊回答如下

1:使用了 读配置项 这句命令之后并不会自动删除数据,应该是您某处代码的原因,请检查!

2:如您要读取配置之后删除数据,可直接在读取之后直接写一个为空的数据进去,具体请参考如下代码

写配置项(“c:配置文件路径.ini”,"节名称","配置项名称","")

如以上2个模糊回答并不是您要的答案,请上传源代码文件并再次追问,如不方便提供源代码可通过截图的方式 截取 写配置项、读配置项 的关键部分代码。

希望我的回答对你有所帮助!Kiss灬小猪

㈣ visual studio做的窗口应用程序,已经连接数据库,如何删除,updata数据

publicclassStudentService

{

//从配置文件中读取数据库连接字符串

=ConfigurationManager.ConnectionStrings["accpConnectionString"].ToString();

=ConfigurationManager.ConnectionStrings["DataBaseOwner"].ToString();

AdoNetModels.Studentmodel=newStudent();

//conststringspName=".usp_DeleteStudent";

#region删除数据1

publicintDeleteStudent(intstuID)

{

intresult=0;

//数据库连接Connection对象

SqlConnectionconnection=newSqlConnection(connString);

//构建删除的sql语句

stringsql=string.Format("DeleteFromStudentWherestuID={0}",stuID);

//定义command对象

SqlCommandcommand=newSqlCommand(sql,connection);

try

{

connection.Open();

result=command.ExecuteNonQuery();//执行命令

}

catch(Exceptionex)

{

Console.WriteLine(ex.Message);

}

finally

{

connection.Close();

}

returnresult;

}

#endregion

#region删除数据2

publicintDeleteStudent2(intstuID)

{

intresult=0;

//构建删除的sql语句使用参数

stringsql="[email protected]";

using(SqlConnectionconnection=newSqlConnection(connString))

{

SqlCommandobjCommand=newSqlCommand(sql,connection);

objCommand.Parameters.Add("@stuID",SqlDbType.Int).Value=stuID;

connection.Open();

result=objCommand.ExecuteNonQuery();

}

returnresult;

}

#endregion

publicintInsertStudent(Studentmodel)

{

intresult=0;

SqlConnectionconnection=newSqlConnection(connString);

//构建插入的sql语句

stringsql=string.Format("INSERTINTOStudent(stuName,age)values('{0}','{1}')",

model.StuName,model.Age);

//定义command对象

SqlCommandcommand=newSqlCommand(sql,connection);

try

{

connection.Open();

result=command.ExecuteNonQuery();//执行命令

}

catch(Exceptionex)

{

Console.WriteLine(ex.Message);

}

finally

{

connection.Close();

}

returnresult;

}

publicintInsertStudent2(Studentmodel)

{

intresult=0;

//构建插入的sql语句

stringsql="INSERTINTOStudent(age,stuName)values(@age,@stuName)";

using(SqlConnectionconnection=newSqlConnection(connString))

{

SqlCommandobjCommand=newSqlCommand(sql,connection);

objCommand.Parameters.Add("@age",SqlDbType.Int).Value=model.Age;

objCommand.Parameters.Add("@stuName",SqlDbType.NVarChar,50).Value=model.StuName;

connection.Open();

result=objCommand.ExecuteNonQuery();

}

returnresult;

}

publicintInsertStudent3(Studentmodel)

{

intresult=0;

using(SqlConnectionconnection=newSqlConnection(connString))

{

SqlCommandobjCommand=newSqlCommand(dboOwner+".usp_InsertStudent",connection);

objCommand.CommandType=CommandType.StoredProcere;

objCommand.Parameters.Add("@age",SqlDbType.Int).Value=model.Age;

objCommand.Parameters.Add("@stuName",SqlDbType.NVarChar,50).Value=model.StuName;

connection.Open();

result=objCommand.ExecuteNonQuery();

}

returnresult;

}

publicintInsertStudent5(Studentmodel)

{

intoutputResult=0;

intreturnvalue=0;

using(SqlConnectionconnection=newSqlConnection(connString))

{

SqlCommandobjCommand=newSqlCommand(dboOwner+".usp_InsertStudent",connection);

objCommand.CommandType=CommandType.StoredProcere;

objCommand.Parameters.Add("@age",SqlDbType.Int).Value=model.Age;

objCommand.Parameters.Add("@stuName",SqlDbType.NVarChar,50).Value=model.StuName;

//定义输出参数

SqlParameterparameter=newSqlParameter("@stuID",SqlDbType.Int);

parameter.Direction=ParameterDirection.Output;

objCommand.Parameters.Add(parameter);

//定义ReturnValue参数

objCommand.Parameters.Add("ReturnValue",SqlDbType.Int);

objCommand.Parameters["ReturnValue"].Direction=ParameterDirection.ReturnValue;

connection.Open();

objCommand.ExecuteNonQuery();//执行命令

//获取输出参数的值在命令执行以后

outputResult=(int)objCommand.Parameters["@stuID"].Value;

//存储过程中为定义return值默认为0

returnvalue=(int)objCommand.Parameters["ReturnValue"].Value;

}

returnreturnvalue;

}

publicIList<Student>GetAllStudents1()

{

IList<Student>dataList=newList<Student>();

DataSetdataSet=newDataSet();//声明并初始化DataSet

SqlDataAdapterdataAdapter;//声明DataAdapter

using(SqlConnectionconn=newSqlConnection(connString))

{

//定义command对象

SqlCommandcommand=newSqlCommand(dboOwner+".usp_SelectStudentsAll",conn);

command.CommandType=CommandType.StoredProcere;

//Command定义带参数的SQL语句的参数

//command.Parameters.Add("@stuID",SqlDbType.Int);

//给输入参数赋值

//command.Parameters["@stuID"].Value=5;

conn.Open();

//初始化DataAdapter

dataAdapter=newSqlDataAdapter(command);

//填充DataSet

dataAdapter.Fill(dataSet,"dataSetName");

//处理数据集中的数据

foreach(DataRowrowindataSet.Tables[0].Rows)

{

Studentmodel=newStudent();

model.StuId=Convert.ToInt32(row["stuID"]);

model.StuName=Convert.ToString(row["stuName"]);

dataList.Add(model);

}

}

returndataList;

}

publicvoidMoreResult()

{

DataSetdataSet=newDataSet();//声明并初始化DataSet

SqlDataAdapterdataAdapter;//声明DataAdapter

//定义查询语句

stringsql=string.Format("SELECT*FROMstudentwherestuid>50;SELECT*FROMstudent");

SqlConnectionconnection=newSqlConnection(connString);

try

{

connection.Open();

//初始化DataAdapter

dataAdapter=newSqlDataAdapter(sql,connection);

//填充DataSet

dataAdapter.Fill(dataSet,"dataSetName");

//处理数据集中的数据

foreach(DataRowrowindataSet.Tables[0].Rows)

{

//intgradeId=(int)row["GradeID"];

}

}

catch(Exceptionex)

{

Console.WriteLine(ex.Message);

}

finally

{

connection.Close();

}

}

}

}

㈤ 用c#写一个这样的程序。 每天的第一次打开程序时就把昨天的数据全部删除(sql server数据库

加一个配置文件 文件记录日期(2014-08-04)每次打开的时候判断今天的日期跟这个日期是不是一样 一样的话不做任何处理不一样的话进行数据库删除 删除完之后把配置文件改成今天的日期 说的有点乱不知道你懂不懂

㈥ 网站正要尝试下载一个配置文件下载后怎样删除

删除应用及其配置描述文件

若要删除某个应用及其配置描述文件,请按照以下步骤操作。

删除应用

轻轻按住应用直至其开始抖动。

然后轻点这个应用左上角的删除按钮以将它删除。如果您看到一条信息,提示您“删除此应用将同时删除其数据”,请轻点“删除”。

如果这个应用有配置描述文件,请将它删除。

前往“设置”>“通用”>“描述文件”或“描述文件与设备管理”*,然后轻点这个应用的配置描述文件。

然后轻点“删除描述文件”。根据提示输入您的设备密码,然后轻点“删除”。

重新启动您的iPhone、iPad或iPod touch。

* 如果您在“设置”中没有看到这个选项,则表明您的设备上没有安装任何设备管理描述文件。

转自Apple (中国大陆) – 官方网站

㈦ cassandra python 怎么删除数据

Cassandra通过写一条“tombstone”来标记一个数据被删除了。被标记的数据默认要10天(配置文件中的gc_grace_seconds)后且被compaction或cleanup执行到对应的SSTable时才会被真正从磁盘删除,因为如果当时这个delete操作只在3个节点中的2个执行成功,那么一旦2个有tombstone的节点把数据删了,集群上只剩下没tombstone的那个节点,下次读这个key的时候就又返回对应的数据,从而导致被删除的数据复活。Repair操作可以同步所有节点的数据从而保证tombstone在3个节点中都存在,因此如果想确保删除100%成功不会复活需要以小于gc_grace_seconds的周期定期执行repair操作(所以官方建议”weekly”)。然而在select数据的时候,在每个SSTable遇到的所有符合查询条件的tombstone要放内存中从而在合并每个SSTable文件的数据时判断哪些column数据没被删能最终返回,tombstone太多会导致heap被大量占用需要各种GC从而影响性能,所以cassandra默认读到100000个(可配置)tombstone就强制取消这次读取,因为遇到这种情况一定是你“doing it wrong”。因此如果经常删除一个row key下的column key,同时又有一次select一个row key下多个column key的需求,很容易遇到这种情况,tombstone很多的时候即使不到10w最终成功读取了,这次读取也会很慢,并很快导致触发年轻代GC从而拖慢整个节点的响应速度。最好的解决方案肯定是设计的时候就避免。但假如在不修改表结构的情况下,解决方案有两种:如果不能接受一个column key被删又复活,先把gc_grace_seconds改成0,然后删除的时候用ALL模式,当然只要有1个节点超时/挂掉删除就会失败;如果能接受被删的数据复活,删除只为了减少磁盘空间使用,那就直接把gc_grace_seconds设成0,复活就复活吧。

㈧ 用C语言读取一个文件中的内容,如何对不同的行进行解析,比如是配置文件

很简单的 配置文件 微软有抓们的一套解析函数 INI文件是Windows系统中一类比较重要的文件,通常用来存放系统或者应用程序的配置信息,以方便系统或者应用 程序在初始化时再次读入。比如Windows系统中的配置文件win.ini和system.ini,它们就主要存放系统启动或用户登陆时的系统信息。这 项功能在方便了系统配置的同时,也为非法程序的自动运行提供了可乘之机。显然,这类文件的重要性应该引起我们的重视。但是对于这样的ini文件的读写操作 却与普通文本文件有着种种的不同,尤其体现在编程实现上。笔者曾经尝试用手动更改的方法在文件中加入一些项,使得自己的程序能够在初始化时自动运行,但是 却没有成功,最后还是藉由编程的方法来实现了。这里主要涉及到一些API函数,而这些函数又往往不被人们所熟知,本文的任务就是在介绍这些函数的同时,用 简单的程序作了示例,下面我们言归正传。先来看几个往配置文件中写入信息的函数:(1)WritePrivateProfileSection()用来在ini文件中直接向指定区域写入键和值的信息,其原型如下:BOOL WritePrivateProfileSection(LPCTSTR lpAppName, // 指向指定字段的字符串LPCTSTR lpString, // 指向要写入的键与值字符串LPCTSTR lpFileName // 指向文件名称字符串,如果不包含完整路径,则在windows目录下创建);用法示例:WritePrivateProfileSection(_T(“windows”),_T(“load=c:\\winnt\\notepad.exe”),_T(“c:\\winnt\\win.ini”));(2)WritePrivateProfileString()与上一个函数的不同点在于其将键和值分开了,原型如下:BOOL WritePrivateProfileString(LPCTSTR lpAppName, // 指向指定字段的字符串LPCTSTR lpKeyName, // 指向指定键的字符串LPCTSTR lpString, // 指向指定值的字符串LPCTSTR lpFileName // 指向文件名称字符串);用法示例:WritePrivateProfileString(_T(“windows”),_T(load”)_T(“c:\\winnt\\notepad.exe”),_T(“c:\\winnt\\win.ini”));(3)WritePrivateProfileStruct()与前面两个的不同在于文件尾有校验和,原型如下:BOOL WritePrivateProfileStruct(LPCTSTR lpszSection, //指向指定字段的字符串LPCTSTR lpszKey, //指向指定键的字符串LPVOID lpStruct, //指向存放要加入的数据的缓冲区,如果为NULL,则删除键UINT uSizeStruct, //缓冲区大小,以字节为单位LPCTSTR szFile //以零结尾的文件名称字符串,如果为空,则向win.ini写入);用法示例:WritePrivateProfileStruct(_T(“windows”),_T(“load”),pBuffer,sizeof(pBuffer),_T(“c:\\winnt\\win.ini”));(4)还有两个函数,是专门用来向win.ini文件写入的,函数原型如下:BOOL WriteProfileSection(LPCTSTR lpAppName, //指向指定字段的字符串LPCTSTR lpString //指向指定值的字符串);BOOL WriteProfileString(LPCTSTR lpAppName, //指向指定字段的字符串LPCTSTR lpKeyName, //指向指定键的字符串LPCTSTR lpString //指向指定值的字符串);下面来看几个对应的从ini文件获取信息的API函数,上面已经说得很详细了,这里只说其中两个:DWORD GetPrivateProfileString(LPCTSTR lpAppName, //指向指定字段的字符串LPCTSTR lpKeyName, //指向键的字符串LPCTSTR lpDefault, //如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量LPTSTR lpReturnedString, //存放INI文件中值的目的缓存区DWORD nSize, //目的缓冲区的大小,以字节为单位LPCTSTR lpFileName //指向INI文件名称的字符串); UINT GetPrivateProfileInt(LPCTSTR lpAppName, //指向指定字段的字符串LPCTSTR lpKeyName, //指向键的字符串INT nDefault, //如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量LPCTSTR lpFileName //指向INI文件名称的字符串);程序示例1: 我们在这里建立了一个应用程序“App Name”,并且使用了一个INI文件“appname.ini”,在此INI文件中,我们写入如下内容:[Section1] FirstKey = It all worked out okay. SecondKey = By golly, it works. ThirdKey = Another test. 代码分析如下:#include <stdio.h> #include <windows.h>//主函数main() { //定义局部CHAR inBuf[80]; HKEY hKey1, hKey2; DWORD dwDisposition; LONG lRetCode; // 试图创建INI文件的键值lRetCode = RegCreateKeyEx ( HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT \\CurrentVersion\\IniFileMapping\\appname.ini", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey1, &dwDisposition); //判断是否出错if (lRetCode != ERROR_SUCCESS){ printf ("Error in creating appname.ini key\n"); return (0) ; } //试图设置一个节区的值lRetCode = RegSetValueEx ( hKey1, "Section1", 0, REG_SZ, "USR:App Name\\Section1", 20); //判断是否出错if (lRetCode != ERROR_SUCCESS) { printf ( "Error in setting Section1 value\n"); return (0) ; } //试图创建一个应用名称键值lRetCode = RegCreateKeyEx ( HKEY_CURRENT_USER, "App Name", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey2, &dwDisposition); //判断是否出错if (lRetCode != ERROR_SUCCESS) { printf ("Error in creating App Name key\n"); return (0) ; }//强制系统重新读取映射区的内容到共享内存中,以便于将来对应用程序的调用可//以找到它,而不需要重新启动系统 WritePrivateProfileStringW( NULL, NULL, NULL, L"appname.ini" ); //向INI文件中添加一些键值 WritePrivateProfileString ("Section1", "FirstKey", "It all worked out okay.", "appname.ini"); WritePrivateProfileString ("Section1", "SecondKey", "By golly, it works.", "appname.ini"); WritePrivateProfileSection ("Section1", "ThirdKey = Another Test.", "appname.ini"); //测试一下添加的正确性GetPrivateProfileString ("Section1", "FirstKey", "Bogus Value: Get didn't work", inBuf, 80, "appname.ini"); printf ("%s", inBuf); return(0); }程序示例2:通过修改win.ini中的字段[windows]中的键load或run,或者是为system.ini中的字段[boot]中的键 shell增加值,可以达到设置程序自动运行的目的。假设我们要自动运行notepad.exe,修改后的win.ini或system.ini文件象这 样就可以:win.ini[windows]load=c:\winnt\notepad.exerun=c:\winnt\notepad.exesystem.ini[boot]shell=c:\winnt\explorer.exe c:\winnt\notepad.exe注意:system.ini文件的修改要特别注意,如果你单纯改成shell=c:\winnt\notepad.exe,则不能首先运行 explorer.exe,很明显你将看不到桌面和任务栏,呵呵,笔者在做实验时就曾因为粗心造成了这样的后果,不过不用害怕,只要你用我们下面提供的程 序,将它修改过来就可以了,默认时,系统在system.ini中的[boot]下是shell=c:\winnt\explorer.exe。很多非法 程序就是通过修改这两个文件来达到自启动的目的的。下面这个程序可以在附书光盘中找到,名称为“AutoPlay”,使用VC++6.0写成,核心程序源代码如下:void CAutoRunDlg::OnBrowse() {//只浏览exe文件CfileDialog fileDlg(TRUE,_T("EXE"),_T("*.exe"),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,(_T("Executable Files (*.exe) |*.exe ||")));//显示打开文件的对话框//当操作者选择OK时,程序取得选择文件的全路径名(包括文件的路径及文件名称),并将相应的数值传输给相关的控件变量。if(fileDlg.DoModal()==IDOK){ m_strFileName=fileDlg.GetPathName();//向将变量中的数值传输给控件显示出来。 UpdateData(FALSE);} }void CAutoRunDlg::OnApply() {//更新数据UpdateData(TRUE); //写入ini文件LPCTSTR filename; filename=m_strFileName; WritePrivateProfileString(_T("windows"),_T("load"),filename,_T("c:\\winnt\\win.ini"));}您如果要更改system.ini,可以将WritePrivateProfileString(_T("windows"),_T("load"),filename,_T("c:\\winnt\\win.ini"));改为 WritePrivateProfileString(_T("boot"),_T("shell"),filename,_T("c:\\winnt \\system.ini"));并且在输入文件名时输入c:\winnt\explorer.exe c:\winnt\notepad.exe。写到这里,本文的意图基本达到,如果您可以把某些代码亲自实现,相信读者会有比较大的收获。


赞 (0)