
下拉列表里面的 元素 “是”和“否”不叫数据类型~
数据库里面的“是”和“否”~数据类型是char~
你的意思是想~
从数据库里面读出 “是” 和 “否”,然后在下拉列表显示出来把。
数据表随便建一个:
id ctype
1 是
2 否
然后这是c#代码
private void dropdownlist_Load(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection("server=;database=TestDatalist;integrated security=SSPI");
SqlCommand cm = new SqlCommand("select ctype from choess", cn);
SqlDataReader r;
cnOpen();
r = cmExecuteReader();
while (rRead())
{
comboBox1ItemsAdd(rGetValue(0)ToString());
}
cnClose();
}
连接字符串~根据自己的数据库改吧~
char转换
Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换
Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char类型
在Qt下怎样将QString转char呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档。
因为char最后都有一个‘/0’作为结束符,而采用QString::toLatin1()时会在字符串后面加上‘/0’
方法如下:
Qstring
str;
char
ch;
QByteArray
ba
=
strtoLatin1();
ch=badata();
这样就完成了QString向char的转化。经测试程序运行时不会出现bug
注意第三行,一定要加上,不可以strtoLatin1()data()这样一部完成,可能会出错。
补充:以上方法当QString里不含中文时,没有问题,但是QString内含有中文时,转换为char就是乱码,采用如下方法解决:
方法1:
添加GBK编码支持:
#include
<QTextCodec>
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
然后改变上面的第三行为:QByteArray
ba
=
strtoLoacl8Bit();
toLoacl8Bit支持中文
方法2:
先将QString转为标准库中的string类型,然后将string转为char,如下:
std::string
str
=
filenametoStdString();
const
char
ch
=
strc_str();
aReader sdr;//sdr在此定义
你只是定义了一个sqldatareader类型的 ser但是你没有实例化它的代码啊
你的Button1_Click里面的是正确的,
SqlDataReader sdr = sqlcommandExecuteReader();
但是在这个Button2_Click中你没有实例化sdr啊,你的sdr是个空的
在说了你的button2想查看下一条记录,你查询数据库的代码呢??
你最好不要这样写,你最好先把数据查出来,放在一个dataset或者datatable里面,然后点击一次button根据索引去从dataset或者datatable中去查找你要的数据
1、首先打开MYSQL的管理工具,新建一个test表,并且在表中插入两个字段。
2、接下来在Editplus编辑器中创建一个PHP文件,然后进行数据库连接,并且选择要 *** 作的数据库。
3、然后通过mysql_query方法执行一个Insert的插入语句。
4、执行完毕以后,我们回到数据库管理工具中,这个时候你会发现插入的中文乱码了。
5、接下来我们在PHP文件中通过mysql_query执行一个set names utf8语句即可完成 *** 作。
这三个表对你有用
sysobjects和syscolumns和systypes
第一个可以查到表,第二个表可以查到列,第三个表可以查到数据类型
关联起来用就可以得到某个表中所有列的数据类型了
经过access测试,ok
String url = "jdbc:odbc:test";//最后一个为数据库名
Statement sm = null;
String command = null;
ResultSet rs = null;
String tableName = null;
String cName = null;
String result = null;
String []pram = new String[1];
List <String> tables = new ArrayList<String>();
pram[0] = "table";
BufferedReader input = new BufferedReader(new InputStreamReader(
Systemin));
try {
try {
ClassforName("sunjdbcodbcJdbcOdbcDriver"); // 加载驱动
} catch (ClassNotFoundException e) {
Systemoutprintln("Can not load Jdbc-Odbc Bridge Driver");
Systemerrprint("ClassNotFoundException:");
Systemerrprintln(egetMessage());
}
Connection con = DriverManagergetConnection(url, "admin", "admin"); // 连接到数据库
DatabaseMetaData dm = congetMetaData();
rs = dmgetTables(null, null, null, pram);//查找所有的表
while(rsnext()){
tablesadd(rsgetString(3));
}
rsclose();
for(String tb : tables){
rs = dmgetColumns(null, null, tb, null);//查找当前表的字段
Systemoutprintln("\nthe table is: " + tb);
ResultSetMetaData rsmd = rsgetMetaData();
int len, type;
len = rsmdgetColumnCount();
// Systemoutprintln(len);
for(int i = 1; i <= len; i ++){
type = rsmdgetColumnType(i);
//这里是获取了一个字段类型的int型,需要转化成string的话要做一个swtich,就不转了,你自己看javasqlTypes这个类去
Systemoutprint("\t" + rsmdgetColumnName(i) + ": " + rsmdgetColumnType(i));
}
}
rsclose();
conclose();
// }
} catch (SQLException ex) {
Systemoutprintln("SQLException:");
while (ex != null) {
Systemoutprintln("Message:" + exgetMessage());
ex = exgetNextException();
}
} catch (Exception e) {
Systemoutprintln("IOException");
}
以上就是关于C#下拉列表 从数据库获取数据类型的代码怎么写全部的内容,包括:C#下拉列表 从数据库获取数据类型的代码怎么写、sqlite的数据库类型char怎么获取、C# 获取数据库字段类型--不想用Dataset,DataReader等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)