vb修改数据库数据(vb如何获取数据库的数据,并修改)

2024-07-12 22:59:57 16

vb修改数据库数据(vb如何获取数据库的数据,并修改)

本文目录

vb如何获取数据库的数据,并修改

VB可通过结构化查询语言(SQL)访问数据库。 下面帮你写一个简单的过程,将学号以参数传给该过程: Private Sub editmark(num as Integer) ’声明一个记录集 Dim rs As New ADODB.Recordset ’定义一个SQL查询串 SQLStr = "select * from student where id=" & num ’执行查询 rs.Open SQLStr, Conn, 3, 2 If Not rs.EOF Then rs("mark")=rs("mark")-10 end if ’更新数据库 rs.update End Sub -------------------------------------------------------------- 补充: 1、对于Conn提问者肯定明白,因为提问者已经说明连接部分可以忽略; 2、对于rs("mark")=rs("mark")-10 是可行的,因为通过过程参数的传递记录已经定位在某条记录上,还考虑什么转移; 3、我们回答提问者的问题应尽量简单可行,说明问题即可,无需长篇大论让提问者一头雾水,长篇大论就是“敬业”吗? -------------------------------------------------------------- 最后补充: 没有关系,我们是在讨论问题嘛! 其实,对于“vb操作数据库”我相信不是我们在这里举一个简单的例子能说透的。我只是想通过这个简单的例子(越简单越易让提问者搞懂),告诉提问者用SQL可以访问并操作数据库,至于具体许多细节需要提问者熟悉一下SQL和VB提供的ADO,我想这也是提问者的真实意图。 另外,关于rs("mark")=rs("mark")-10在这个例子中肯定是可行的,因为学生的id肯定是唯一的(应该是数据表student的主键),不会有重复的id。

vb如何修改数据库内的指定数据

使用Data控件内在的 Data 控件通过使用 Microsoft 的 Jet 数据库引擎来实现数据访问 –与 Microsoft Access 所用的数据库引擎相同。这一技术使用户可以无缝地访问很多标准的数据库格式,而且使用户无需编写任何代码就可以创建数据识别应用程序。这种内在的 Data 控件最适合较小的(桌面)数据库,诸如 Access 和 ISAM 数据库。 可以使用这种内在的 Data 控件创建应用程序,来显示、和更新来自多种已有的数据库的信息。这些数据库包括 Microsoft Access、Btrieve、dBASE、Microsoft FoxPro�⒁约_ Paradox。也可以使用这种控件如同访问真正的数据库一样来访问 Microsoft Excel、Lotus 1-2-3、以及标准的 ASCII 文本文件。此外,Data 控件也可以访问和操作远程的开放式数据库连接 (ODBC) 数据库,诸如 Microsoft SQL Server 以及 Oracle。注意 Data 控件和 Remote Data 控件两者都包含在 Visual Basic 中,以提供向后兼容。不过,由于 ActiveX 数据对象 (ADO) 的适应性更广,因此建议使用 ADO Data 控件来创建新的数据库应用程序。详细信息请参阅“使用 ADO Data 控件”。Data 控件、Remote Data 控件、以及 ADO Data 控件在概念上很相似: 三者都是将一个数据源连接到一个数据绑定控件的“数据控件”。三者也都共享相同的外观—一组共四个按扭,使用户可以直接到达记录集的开始、记录集的末尾、以及在记录集中向前或向后翻卷。使用 Data 控件创建一个简单的数据库应用程序要使用 Data 控件创建一个简单的数据库应用程序 在窗体上放置一个 Data 控件。Data 控件是一个内在的控件,因而总是可用的。单击并选定这个 Data 控件,按 F4 键显示“属性”窗口。在“属性”窗口中,将“连接”属性设置为想要使用的数据库类型。在“属性”窗口中,将“DatabaseName”属性设置为想要连接的数据库的文件或目录名称。在“属性”窗口中,将“记录源”属性设置为想要访问的数据库表的名称。在该窗体上放置一个文本框控件。单击并选定这个 TextBox 控件,并在其“属性”窗口中将“数据源”属性设置为该 Data 控件。在这个“属性”窗口中,将“数据字段”属性设置为在该数据库中想要察看或修改的字段的名称。对其它的每一个想要访问的字段,重复第 6、7、8 步。按 F5 键运行这个应用程序。 设置 Data 控件与数据相关的属性下述与数据相关的属性可以在设计时设置。这个列表给出了设置这些属性的一种逻辑顺序:注意 数据库技术是一门复杂的科学,下面的这些建议并不意味着要当作规则来使用。 RecordsetType — RecordsetType 属性决定记录集是一个表、一个动态集 (dynaset)、还是一个快照。这个选择将影响哪些记录集属性是可用的。例如,快照类型的记录集与 dynaset 记录集相比具有更多的限制。DefaultType — DefaultType 属性指定所使用的是 JET 工作空间,还是 ODBCDirect 工作空间。 DefaultCursorType — DefaultCursorType 属性决定光标的位置。可以使用 ODBC 驱动程序来决定光标的位置,或者指定服务器或 ODBC 光标。只有当使用 ODBCDirect 工作空间时,DefaultCursorType 属性才是有效的。Exclusive — 决定该数据是用于单用户环境,还是多用户环境。Options — 这个属性决定记录集的特征。例如,在一个多用户环境中,可以设置 Options 属性来禁止他人所做的更改。BOFAction、EOFAction — 这两个属性决定当这个控件位于光标的开始或末尾时的行为。可能的选择包括停留在开始或末尾、移动到第一个或最后一个记录、或者添加一个新的记录(只有在末尾时)。 参考资料:MSDN

如何在VB6.0数据库中修改某项数据

ADO+DataGrid1例子先点击DataGrid1要修改的数据项,调用DataGrid1_click事件,把点击该项数据在Textbox中显示出来(运行状态下)DataGrild_click()Text2=Adodc1.Recordset(7)Text3=Adodc1.Recordset(9)Text4=Adodc1.Recordset(10)Text5=Adodc1.Recordset(3)然后在Textbox中修改数据后,点击"保存"按扭执行保存command_saveclick()Adodc1.Recordset(11)=DTPicker1.ValueAdodc1.Recordset(1)=Text1.TextAdodc1.Recordset(6)=DTPicker2.ValueAdodc1.Recordset(7)=Text2.TextAdodc1.Recordset(8)=Text_taobiao.TextAdodc1.Recordset(9)=Text3.TextAdodc1.Recordset.UpdateBatchadAffectAllChapters添加new_click()Adodc1.Recordset.AddNewAdodc1.Recordset(0)=Combo1.TextAdodc1.Recordset(1)=Text_name.TextAdodc1.Recordset(2)=Combo__kh_name.TextAdodc1.Recordset(3)=Combo_xd.TextAdodc1.Recordset(4)=Combo_tel.TextAdodc1.Recordset.UpdateBatch

vb怎么修改数据库资料

恩,form3 里的 Call loumou(X_sql) 确实错了。没测试,望能原谅;-)adodb怎么说呢!! 它是vb的一个数据对象,而adodc是vb的一个控件。他们俩其实是一样的。只是adodb使用起来比较灵活。adodc使用起来比较方便。各有各的优点。$在这里表示 字符型 变量 ,它相当于 as string ,另外还有 % 表示 as integer ,& 表示 as long ,等等。。。这些都是常用的。Public Sub loumou(ByVal sql$),这是一个自定义过程,用来给你的那些全局变量赋值的。loumou是我的百度名O(∩_∩)O~,你可以换成你的o(╯□╰)o(要记得都换哦,form1,2,3里面有的都换才行)。当然在是不提倡的,最好还是给它起个有意义的名字。 ()里面是参数,ByVal sql$ 相当于 ByVal sql as string,当你需要改变adodc1的recordset时,传一个sql 语句给它就行了。call 在这里是调用的意思,没有什么特别的用法。它其实可以省略。Call loumou(X_sql) 可以写成 loumou x_sql还不明白的再联系。⊙﹏⊙b===========================================================研究了半天才发现你 form2 哪里用的是form1的变量,那是旧的数据,当然的不同步了要改的话,我是这样改的,与你的代码基本一样,你应该看得懂吧。我只是改了而已,没有测试,因为我没有你的数据库。你试试看吧。’=================form1的代码这样写========================Public p_sno$, p_sname$, p_syear$, p_classname$, p_address$, p_postcode$, p_mobile$, p_email$, p_qq$Dim sno$, pass$Private Sub Command1_Click() sno = user.Text pass = Password.Text Dim sql As String sql = "select * from student where sno=’" & sno & "’ and password=’" & pass & "’" Call loumou(sql) If Adodc1.Recordset.RecordCount 》 0 Then MsgBox "欢迎登陆," & Adodc1.Recordset(1).Value Form2.Show Unload Form1 Else MsgBox "账号或密码错误", , "系统提示" user.Text = "" Password.Text = "" End IfEnd SubPrivate Sub Command2_Click() EndEnd SubPrivate Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call Command1_ClickEnd SubPublic Sub loumou(ByVal sql$) Adodc1.RecordSource = sql Adodc1.Refresh If Adodc1.Recordset.RecordCount 》 0 Then p_sno = Adodc1.Recordset(0) & "" p_sname = Adodc1.Recordset(1) & "" p_syear = Adodc1.Recordset(2) & "" p_classname = Adodc1.Recordset(3) & "" p_address = Adodc1.Recordset(4) & "" p_postcode = Adodc1.Recordset(5) & "" p_mobile = Adodc1.Recordset(6) & "" p_email = Adodc1.Recordset(7) & "" p_qq = Adodc1.Recordset(8) & "" End IfEnd Sub’=========== form2 的代码不变===========================’=========== form3 的代码这样写===========================Private Sub Command1_Click() Dim X_sql As String X_sql = "update student set address=’" & address & "’,postcode=’" & postcode & "’,mobile=’" & mobile & "’,email=’" & email & "’,qq=’" & qq & "’ where sno=’" & Form1.p_sno & "’" Dim con As New ADODB.Connection con.ConnectionString = Adodc1.ConnectionString con.Open con.Execute X_sql ’用adodb 执行 update 语句,因为我也搞不定adodc con.Close Set con = Nothing X_sql = "select * from student where sno=’" & Form1.p_sno & "’" Call form1.loumou(X_sql) Unload Form1 Unload Form3 Form2.ShowEnd Sub

VB怎么修改数据库数据

首先实例化Set cnn = New ADODB.ConnectionSet rst = New ADODB.Recordset要更新的字段sql = "update 表名 set =’" & txtID.Text & "’,...."更新数据库cnn.Execute sqlrst.UpdateBatch以上回答你满意么?

vb.net如何实现修改数据库中的数据

点击修改按钮以后,相对的数据显示到 信息显示 窗口的相对TextBox  的代码如下:

信息显示.TextBox1.Text = DataGridView1.SelectedRows(0).Cells("Name_CN").Value.ToString’中文姓名为例,其他的跟这个一样。信息显示.ShowDialog()

完成修改的SQL代码如下:

UPDATE 表名 SET Name_CN=’新值’, Name_EN=’新值’ WHERE 列名=条件

VB怎么样修改数据库中记录的值

楼上的道友的方法中:sSQL="updatetablesetfield=20"要改为:sSQL="updatetablesetfield1=20,...,field2=20whereid=3"但是如果你的数据库中没有记录3就会出错。还有一种方法,用recordset来处理:dimcnasnewadodb.connectiondimrsasnewadodb.recordsetrs.open"select*from数据库whereid=3",adOpenDynamic,adLockOptimistic,-1ifnotrs.eofthenrs("你要修改的字段1")="具体值1"...rs("你要修改的字段n")="具体值n"rs.updateendifrs.close我在设计时一般都是这样,虽然麻烦些但基本不会出错,还有就是你在设计数据库时最好要加上一个ID,这样就可以保证数据的唯一性。

VB怎么修改数据库指定单元格里的数据

给你一个例子Dim Conn As New ADODB.ConnectionDim Rs As New ADODB.RecordsetRs.Open "SELECT * FROM 报警记录 where " & Te.Tag & "=’" & Text1.Text & "’", ConnIf Rs.RecordCount = 0 ThenMsgBox vbCrLf & "“" & Rs.Fields(0) & "”查找失败!", vbInformation, " 提 示"Rs.CloseRs.Open "select * from 报警记录", Conn, adOpenStatic, adLockOptimisticEnd IfSet DataGrid1.DataSource = RsFor Each Col In DataGrid1.Columns ’修改列表If Col.DataField = "序号" Or Col.DataField = "备注" Then Col.Visible = False ’隐藏不想显示的字段Next ColDataGrid1.Columns(11).Caption = "电压"‘替换显示将数据库里的字段if Rs.Fields(4)="10" then msgbox "数值过低!"’第5(从0开始)个单元格数值For I = 0 To 14DataGrid1.Columns(I).Caption = Space(((DataGrid1.Columns(I).Width - Len(DataGrid1.Columns(I).Caption) * 150) \ 2) \ 150) & DataGrid1.Columns(I).Caption ’标题居中DataGrid1.Columns(I).Alignment = dbgCenterNext

在vb连接了数据库之后,如何修改库中表的某一内容求代码

一、连接数据库之后,还要打开需要进行修改的数据表。建立相应的SQL语句strSql="select*fromtable"(也可加上条件判断where语句)rs.OpenstrSql,con,adOpenDynamic,adLockOptimisticrs.Fields("这里写上你要修改的字段名称")=修改后的信息………………类推rs.Update二、可直接使用UpdateSQL语句进行修改strSql="Updatetable(表名)set要修改的字段名称1=修改后的信息1,要修改的字段名称2=修改后的信息2,……等等"con.Execute即可,试试吧。

用vb修改access数据库中的数据

先说点儿别的:建议不要使用隐式类型转换。写明确 rs!score = Val(Text1.Text)另外,Do Loop 用的有点多余。直接 rs.Move List1.ListIndex 1 就可以了。***隐藏网址***即使真的要遍历,在已知循环次数的情况下应优先使用 For 循环。可以直接显式的Update单个数据:rs.Update score val(Text1.Text)如果使用了事务处理,在Update后应使用 CommitTrans 方法。在程序结尾处,应执行 rs.Close 方法。

vb修改数据库数据(vb如何获取数据库的数据,并修改)

本文编辑:admin

更多文章:


血战上海滩通关存档(血战上海滩怎么存档)

血战上海滩通关存档(血战上海滩怎么存档)

本文目录血战上海滩怎么存档血战上海滩怎样存储档案求血战上海滩全通关存档邮箱429011632@qq.com血战上海滩通关存档血战上海滩怎么条关血战上海滩怎么存档没办法存档,但是你玩到哪一关挂掉了,下次玩就可以从哪一关开始玩,玩了几关,前面的

2024年7月17日 00:02

三国恋战记~少女的兵法!~玄德线的有一张cg一直打不出来,谁能告诉我如何打出来?PSP三国恋战记怎么安装

三国恋战记~少女的兵法!~玄德线的有一张cg一直打不出来,谁能告诉我如何打出来?PSP三国恋战记怎么安装

本文目录三国恋战记~少女的兵法!~玄德线的有一张cg一直打不出来,谁能告诉我如何打出来PSP三国恋战记怎么安装小时候在游戏厅玩的三国战记,是哪个版本的呢电脑上怎么玩三国战记三国恋战记~少女的兵法!~玄德线的有一张cg一直打不出来,谁能告诉我

2024年7月1日 12:47

androidjson(android 解析json用那个包里面的方法比较好呢)

androidjson(android 解析json用那个包里面的方法比较好呢)

本文目录android 解析json用那个包里面的方法比较好呢android 怎样将数据以json格式保存在手机文件中android 怎么看json数据格式android怎么样获取并解析json数据android 解析json用那个包里面的

2024年7月1日 11:29

qq空间怎么设置访问权限(手机上qq空间怎么设置访问权限)

qq空间怎么设置访问权限(手机上qq空间怎么设置访问权限)

其实qq空间怎么设置访问权限的问题并不复杂,但是又很多的朋友都不太了解手机上qq空间怎么设置访问权限,因此呢,今天小编就来为大家分享qq空间怎么设置访问权限的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录手机上q

2024年5月1日 08:23

国元领航最新版下载(国元领航软件为什么独立行情打不开)

国元领航最新版下载(国元领航软件为什么独立行情打不开)

今天给各位分享国元领航软件为什么独立行情打不开的知识,其中也会对国元领航软件为什么独立行情打不开进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录国元领航软件为什么独立行情打不开三星a7100手机怎样下载国元证卷

2024年8月1日 15:45

句容市社会保障网上个人帐户查询怎么进网查询?2021年句容住建局人事变动

句容市社会保障网上个人帐户查询怎么进网查询?2021年句容住建局人事变动

本文目录句容市社会保障网上个人帐户查询怎么进网查询2021年句容住建局人事变动怎样登录句容山水网谁能帮我说一下句容的概况江苏省句容市的房价还会跌吗句容市社会保障网上个人帐户查询怎么进网查询1、在电脑浏览器上输入句容社保进行百度搜索,找到相关

2024年7月5日 01:02

证券公司前100排名?全国所有券商的总部都分别是哪里呢

证券公司前100排名?全国所有券商的总部都分别是哪里呢

本文目录证券公司前100排名全国所有券商的总部都分别是哪里呢日信证券怎么样啊日信证券是民营企业吗还是国有的是国家控股的么我在原地开日信证券的户,迁移前没销成只能以家人名义再开广发的户,现想销户再开户请问怎么网上销户中国的四大券商是那几个中国

2024年6月26日 12:13

目前最火的传奇手游排行(传奇游戏排行榜)

目前最火的传奇手游排行(传奇游戏排行榜)

本篇文章给大家谈谈目前最火的传奇手游排行,以及传奇游戏排行榜对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录传奇游戏排行榜传奇类手游排行榜2022传奇手游排行榜传世手游排行榜前十人气最火的传奇手游传奇类手游排行榜人气最旺的传奇

2024年8月9日 12:06

qq电脑版在线登录入口(网页版qq中心登录入口,网页版QQ登陆的网址是什么)

qq电脑版在线登录入口(网页版qq中心登录入口,网页版QQ登陆的网址是什么)

大家好,如果您还对qq电脑版在线登录入口不太了解,没有关系,今天就由本站为大家分享qq电脑版在线登录入口的知识,包括网页版qq中心登录入口,网页版QQ登陆的网址是什么的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录

2024年6月16日 03:05

腾讯游戏电脑版(如何在电脑上玩腾讯手游)

腾讯游戏电脑版(如何在电脑上玩腾讯手游)

大家好,腾讯游戏电脑版相信很多的网友都不是很明白,包括如何在电脑上玩腾讯手游也是一样,不过没有关系,接下来就来为大家分享关于腾讯游戏电脑版和如何在电脑上玩腾讯手游的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录如

2024年7月23日 04:12

手机文档加密(手机wps怎么加密)

手机文档加密(手机wps怎么加密)

本文目录手机wps怎么加密手机文件怎么加密华为手机文件加密怎么加密文件手机wps如何给文档加密OPPO手机怎么把文件加密华为手机文件加密怎么设置qq里的手机文件怎样加密手机WPS怎么给文件/文档加密手机wps怎么加密1.用手机wps软件好你

2024年6月21日 08:06

《口袋妖怪》白金光搭配什么精灵?口袋妖怪白金光神兽捕捉地点在哪里

《口袋妖怪》白金光搭配什么精灵?口袋妖怪白金光神兽捕捉地点在哪里

本文目录《口袋妖怪》白金光搭配什么精灵口袋妖怪白金光神兽捕捉地点在哪里口袋妖怪白金光 怎么得到攀岩术口袋妖怪白金光搭配精灵口袋妖怪白金光 和白金一样么口袋妖怪白金光琉璃岛在哪口袋妖怪白金光穿墙金手指求口袋妖怪白金光精装版攻略口袋妖怪白金光是

2024年6月8日 16:23

搜狗五笔输入法电脑版(电脑五笔输入法怎么下载安装)

搜狗五笔输入法电脑版(电脑五笔输入法怎么下载安装)

这篇文章给大家聊聊关于搜狗五笔输入法电脑版,以及电脑五笔输入法怎么下载安装对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录电脑五笔输入法怎么下载安装电脑打字怎么切换五笔电脑怎样添加五笔打字我在网上下了五笔输入法,可是在WIN7

2024年7月2日 22:44

骑马与砍杀修改大全(骑马与砍杀npc属性修改 详细步骤及解析)

骑马与砍杀修改大全(骑马与砍杀npc属性修改 详细步骤及解析)

本文目录骑马与砍杀npc属性修改 详细步骤及解析骑马与砍杀怎么修改档案骑马与砍杀食物修改问题骑马与砍杀修改大全的骑马与砍杀原版秘籍骑马与砍杀npc属性修改 详细步骤及解析骑马与砍杀npc属性修改需要使用角色导出导入功能,操作方法如下:操作设

2024年7月24日 06:29

喵绅hcmoic士网页版(喵绅hcmoic跳转页面)

喵绅hcmoic士网页版(喵绅hcmoic跳转页面)

本篇文章给大家谈谈喵绅hcmoic士网页版,以及喵绅hcmoic跳转页面对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录喵绅hcmoic跳转页面喵绅hcmoic是用什么浏览器看怎样进入喵绅日语官网喵绅hcmoic.nya入门口

2024年8月9日 00:46

trojan downloader(我的电脑是温10系统的 每次开机都会提醒发现威胁TrojanDownloader.Win32怎么办)

trojan downloader(我的电脑是温10系统的 每次开机都会提醒发现威胁TrojanDownloader.Win32怎么办)

本文目录我的电脑是温10系统的 每次开机都会提醒发现威胁TrojanDownloader.Win32怎么办电脑里有一个名叫 Trojandownloader:Win32/Adload.BM!dll 的病毒,怎么样也删不掉,跪求高人帮Troj

2023年5月3日 11:40

东兴证券大智慧(现在那款炒股软件好使)

东兴证券大智慧(现在那款炒股软件好使)

本文目录现在那款炒股软件好使东兴证券手续费如何计算我是在东兴证券开的户,可不可以用大智慧手机抄股软件进行交易关于东兴证券手续费的问题现在那款炒股软件好使《SNB股票自动盯盘工具》,不错的哦,你可以用用看.自动监视、自动止赢、自动止损、自动买

2024年7月3日 17:56

pokemon go 官网(pokemon go官网怎么捉)

pokemon go 官网(pokemon go官网怎么捉)

本文目录pokemon go官网怎么捉《精灵宝可梦go》官网账号怎么注册如何在pokemon go 上创建账号如何申请pokemongo账号pokemon go官网怎么捉就点击圆圈范围内的Pokemon然后就会有类似于战斗场面的,扔poke

2024年5月7日 18:06

酷狗音乐破解版(酷狗vip破解版有用吗)

酷狗音乐破解版(酷狗vip破解版有用吗)

大家好,如果您还对酷狗音乐破解版不太了解,没有关系,今天就由本站为大家分享酷狗音乐破解版的知识,包括酷狗vip破解版有用吗的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录酷狗vip破解版有用吗酷狗免费下载音乐破解方

2024年8月6日 00:25

北京科兴疫苗假疫苗(官网里能找到科兴疫苗的真假情报吗)

北京科兴疫苗假疫苗(官网里能找到科兴疫苗的真假情报吗)

大家好,北京科兴疫苗假疫苗相信很多的网友都不是很明白,包括官网里能找到科兴疫苗的真假情报吗也是一样,不过没有关系,接下来就来为大家分享关于北京科兴疫苗假疫苗和官网里能找到科兴疫苗的真假情报吗的一些知识点,大家可以关注收藏,免得下次来找不到哦

2024年5月18日 07:36

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1731
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1156
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索