2 abrupt123 abrupt123 于 2015.05.29 13:19 提问

C#VS2010访问SQL数据库

private void button1_Click(object sender, EventArgs e)
{
string ConnectionString = "Server=(local);Integrated Security=SSPI;Database=student";
SqlConnection myconn = new SqlConnection(ConnectionString);
myconn.Open();
MessageBox.Show("连接成功!");
SqlConnection conn = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(Sql, conn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Console.WriteLine(dr[字段].ToString());
}
}
访问SQL Server2008 student数据库中的学生表,请改一下代码

7个回答

caozhy
caozhy   Ds   Rxr 2015.05.29 13:43
已采纳

Sql和字段
要替换成你实际的变量。
给你代码不是照抄就行的,得看懂。

abrupt123
abrupt123 谢谢
大约 3 年之前 回复
caozhy
caozhy 回复abrupt123: dr["姓名"].ToString() + " " + dr["年龄"].ToString() + ...
大约 3 年之前 回复
abrupt123
abrupt123 谢谢,那把”姓名“改成什么就能看到整张表的数据?
大约 3 年之前 回复
caozhy
caozhy 回复caozhy: 你的程序是winforms程序?那要把console.writeline换成messagebox.show,否则输出到控制台去了。
大约 3 年之前 回复
caozhy
caozhy 回复abrupt123: 还是有是什么意思?能进去?那么这个字段的值是什么,不是空吧。
大约 3 年之前 回复
abrupt123
abrupt123 还是有,重复了几下
大约 3 年之前 回复
caozhy
caozhy 回复abrupt123: 在while (dr.Read())下个断点,看看有没有走到其中
大约 3 年之前 回复
abrupt123
abrupt123 有啊,
大约 3 年之前 回复
caozhy
caozhy 数据库有叫做学生的表么。其中有姓名字段么。数据库中有数据么
大约 3 年之前 回复
abrupt123
abrupt123 加这个论坛没多久,完整的代码在回答里,刚发的,麻烦帮忙改一下
大约 3 年之前 回复
abrupt123
abrupt123 有字数限制
大约 3 年之前 回复
caozhy
caozhy 回复abrupt123: 如果你将两个问题采纳,我可以帮你调试下。
大约 3 年之前 回复
caozhy
caozhy 回复abrupt123: 贴出完整的代码,而不是代码片段。屏幕截图以及具体的错误。
大约 3 年之前 回复
abrupt123
abrupt123 回复caozhy: 是定义一个string Sql么,可以运行,但那张表没弹出来,也就是说连接数据库之后的代码没用一样
大约 3 年之前 回复
caozhy
caozhy 回复abrupt123: Sql在哪里定义的?
大约 3 年之前 回复
abrupt123
abrupt123 Sql = "select* from 学生"; SqlCommand cmd = new SqlCommand(Sql, conn); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Console.WriteLine(dr["姓名"].ToString()); }不存在名称”Sql“,请问怎么改
大约 3 年之前 回复
abrupt123
abrupt123   2015.05.29 14:15

private void button1_Click(object sender, EventArgs e)
{
string Sql;
string ConnectionString = "Server=(local);Integrated Security=SSPI;Database=student";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
MessageBox.Show("连接成功!");
Sql = "select* from 学生";
SqlCommand cmd = new SqlCommand(Sql, conn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Console.WriteLine(dr["姓名"].ToString());
}
}
修改之后,没有报错,但只能弹出连接数据库成功之后的对话框,怎么没访问的数据

bdmh
bdmh   Ds   Rxr 2015.05.29 13:20

你少个变量Sql ,Sql = "select * from 学生表"

lzp_lrp
lzp_lrp   Ds   Rxr 2015.05.29 13:24

SqlConnection conn = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(Sql, conn); //这里的sql是变量,可以定义sql,如select 语句,修改这里即可
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Console.WriteLine(dr[字段].ToString());
}

guwei4037
guwei4037   Ds   Rxr 2015.05.29 13:31

两个地方注意一下:
1、少个 string sql = "select * from 学生表";
2、Console.WriteLine(dr["姓名"].ToString());

u012953466
u012953466   2015.05.29 13:38

SqlCommand cmd = new SqlCommand(Sql, conn);
例如
SqlCommand cmd = new SqlCommand("select 学号 from 学生表 where 学号 = @学号", myconn);//学号为变量
mycmd.Parameters.Add("@学号", SqlDbType.NVarChar).Value = TextBox1.Text.Trim();//变量的值=asp中TextBox1控件中的值

caozhy
caozhy   Ds   Rxr 2015.05.29 13:42

SqlConnection myconn = new SqlConnection(ConnectionString);
myconn.Open();
MessageBox.Show("连接成功!");
SqlConnection conn = new SqlConnection(ConnectionString);
干嘛写两次

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!