读:S - Q - L 或读: /ˈsiːkwəl/ ,而/'si:kwəl/其实是sequel单词的读音。
sql一般指结构化查询语言。
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
结构化查询语言包含6个部分:
1、数据查询语言(DQL: Data Query Language):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。
保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句一起使用。
2、数据 *** 作语言(DML:Data Manipulation Language):其语句包括动词INSERT、UPDATE和DELETE。它们分别用于添加、修改和删除。
3、事务控制语言(TCL):它的语句能确保被DML语句影响的表的所有行及时得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。
4、数据控制语言(DCL):它的语句通过GRANT或REVOKE实现权限控制,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
5、数据定义语言(DDL):其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表(CREATE TABLE 或 DROP TABLE);为表加入索引等。
6、指针控制语言(CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的 *** 作。
列表显示只是一个表象,二者没有设定好的关联。实际的删除 *** 作应该在数据库中进行,也就是执行删除工作后,你得把列表数据刷新一下,重新显示。
具体的函数实现,如果需要我再贴上来。
void CMCTTView::ListItem()//刷新列表
{
int i = 0;
if(!m_pSet->IsOpen())
AfxMessageBox("数据源未打开");
m_ItemSetExtendedStyle(m_ItemGetExtendedStyle()|LVS_EX_FULLROWSELECT);
m_ItemDeleteAllItems();
m_ItemSetRedraw(FALSE);
if (!m_pSet->GetRecordCount() == 0)
{
m_pSet->MoveFirst();
}
while(!m_pSet->IsEOF())
{
m_ItemInsertItem(i,"");
m_ItemSetItemText(i,0,m_pSet->m_column1);
m_ItemSetItemText(i,1,m_pSet->m_column2);
m_ItemSetItemText(i,2,m_pSet->m_column3);
m_ItemSetItemText(i,3,m_pSet->m_column4);
i+=1;
m_pSet->MoveNext();
}
m_ItemSetRedraw(TRUE);
}
void CMCTTView::OnItemDel() //在view类中删除条目
{
// TODO: Add your control notification handler code here
int listIndex; //当前选中项的索引
//首先得到点击的位置
POSITION pos=m_ItemGetFirstSelectedItemPosition(); //0 based m_item是指代列表控件
if(pos==NULL)
return;
//得索引,通过POSITION转化
listIndex=m_ItemGetNextSelectedItem(pos)+1; //1 based,so 1 added
m_pSet->SetAbsolutePosition(listIndex);
if ( MessageBox( _T( "你确定要删除当前单词信息吗" ),
_T( "删除确认" ), MB_OKCANCEL | MB_ICONQUESTION ) == IDOK )
{
m_pSet->Delete();
MessageBox( _T( "该单词信息已经被成功删除!" ),
_T( "删除成功!" ), MB_OK | MB_ICONASTERISK );
OnNext();
}
m_pSet->Requery();
//if(!m_pSet->GetRecordCount() == 0)
ListItem();
}
void CMCTTView::OnNext()
{
m_pSet->MoveNext();
if ( m_pSet->IsEOF() )
m_pSet->MoveFirst();
}
int CMCTTDoc::AddToAcc()//在doc类中添加数据
{
m_mCTTSetAddNew();
CString str1,str2,str3,str4;
str1Format("%s",m_Index);
str2Format("%f",m_UseHs);
str3Format("%f",m_UseHj);
switch (m_HJStyle)
{
case 0:
str4 = CString("类型1");
break;
case 1:
str4 = CString("类型2");
break;
case 2:
str4 = CString("类型3");
break;
}
m_mCTTSetm_column1 = str1; //Index
m_mCTTSetm_column2 = str2; //the use of hansi
m_mCTTSetm_column3 = str3; //the use of hanji
m_mCTTSetm_column4 = str4; //the style of hanjie
m_mCTTSetUpdate();
m_mCTTSetRequery();
MessageBeep(MB_OK);
CMainFrame pframe = (CMainFrame)AfxGetMainWnd();
CMCTTView pInterfaceView = (CMCTTView)pframe->GetActiveView();
pInterfaceView->ListItem();
return 0;
}
以上就是关于sql怎么读全部的内容,包括:sql怎么读、怎样将数据库中数据表显示在MFC中的列表控件上,并对其进行删除,修改、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)