用C语言怎么实现与数据库的连接

用C语言怎么实现与数据库的连接,第1张

#include<mysql/mysql.h>

#include<stdio.h>

intmain()

{

MYSQL*conn

MYSQL_RES*res

MYSQL_ROWrow

char*server="localhost"//本地连接

char*user="root"//

char*password="525215980"//mysql密码

char*database="student"//数据库名

char*query="select*fromclass"//需要查询的语句

intt,r

conn=mysql_init(NULL)

if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0))

{

printf("Errorconnectingtodatabase:%s\n",mysql_error(conn))

}else{

printf("Connected...\n")

}

t=mysql_query(conn,query)

if(t)

{

printf("Errormakingquery:%s\n",mysql_error(conn))

}else{

printf("Querymade...\n")

res=mysql_use_result(conn)

if(res)

{

while((row=mysql_fetch_row(res))!=NULL)

{

//printf("num=%d\n",mysql_num_fields(res))//列数

for(t=0t<mysql_num_fields(res)t++)

printf("%8s",row[t])

printf("\n")

}

}

mysql_free_result(res)

}

mysql_close(conn)

return0

}

扩展资料

C语言使用注意事项:

1、指针是c语言的灵魂,一定要灵活的使用它:

(1)、指针的声明,创建,赋值,销毁等

(2)、指针的类型转换,传参,回调等

2、递归调用也会经常用到:

(1)、递归遍历树结构

(2)、递归搜索

C#连接数据库有以下几个步骤:

1:使用配置的数据库连接串,创建数据库连接 Connection 对象

2:构建 *** 作的sql语句

3:定义command对象

4:打开数据连接

5:执行命令

举一个例子,删除 *** 作

public class StudentService

{

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

private readonly static string connString = ConfigurationManager.ConnectionStrings["accpConnectionString"].ToString()

private readonly static string dboOwner = ConfigurationManager.ConnectionStrings["DataBaseOwner"].ToString()

AdoNetModels.Student model = new Student()

#region 删除数据1

public int DeleteStudent(int stuID)

{

int result = 0

// 数据库连接 Connection 对象

SqlConnection connection = new SqlConnection(connString)

// 构建删除的sql语句

string sql = string.Format("Delete From Student Where stuID={0}", stuID)

// 定义command对象

SqlCommand command = new SqlCommand(sql, connection)

try

{

connection.Open()

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

}

catch (Exception ex)

{

Console.WriteLine(ex.Message)

}

finally

{

connection.Close()

}

return result

}

#endregion

,先建立一个数据库UserTest。

2,在里面建立一个表叫UsersTable,设计表,建立三个列:u_id, u_name, u_pwd。

3,u_id是int数据类型,自增1;u_name是nvarchar类型,长度12;u_pwd是varchar类型,长度12,然后保存该表。

4,打开表,在第一行u_name输入“abc”,u_pwd输入“abc”。关闭表。

5,打开VS,新建一个Web项目。双击默认的default.aspx页面,然后将 <body>... </body>替换成下面的代码:

HTML code

<!-- 替换-->

<body style="margin: 0px">

<form id="form1" runat="server">

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%height: 50px">

<tr>

<td style="vertical-align: middlewidth: 50%text-align: centerfont-weight: boldfont-size: 25pxcolor: #003366font-family: Arial">yunleizhilian 的登录示范</td>

<td style="vertical-align: middletext-align: left">

<asp:Panel ID="pnlLogin" runat="server" Height="30px" Width="100%">

用户名:<asp:TextBox ID="txbUserName" runat="server"></asp:TextBox>密码:

<!-- 对于密码TextBox,应把TextMode属性设置为Password,这样输入的值会以****形式出现,保护密码在输入时不被别人看到 -->

<asp:TextBox ID="txbUserPassword" runat="server" TextMode="Password"></asp:TextBox>

<asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" /></asp:Panel>

<asp:Panel ID="pnlWelcome" runat="server" Height="30px" Width="100%">

<asp:Label ID="lblWelcome" runat="server"></asp:Label>

<asp:Button ID="btnQuit" runat="server" CausesValidation="False" Text="退出" Width="146px" OnClick="btnQuit_Click" /></asp:Panel>

</td>

</tr>

</table>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%height: 100px">

<tr>

<td style="vertical-align: middletext-align: center">

<!-- 这个用来显示登录是否成功的信息 -->

<asp:Label ID="lblMessage" runat="server" ForeColor="#C00000"></asp:Label></td>

</tr>

</table>

</form>

</body>

<!-- 替换结束 -->

6,按F7,进入代码视图,在Page_Load()里写下面的代码:

C# code

protected void Page_Load(object sender, EventArgs e)

{

//确保页面是第一次被访问

if (!Page.IsPostBack)

{

CheckPageStatus()

}

}

//通过判断Session["UserName"]是否为空检查页面是否已登录(登录成功时会为Session["UserName"]注入值,就不空了。。否则就认为没有登录)。

private void CheckPageStatus()

{

if (Session["UserName"] != null)

{

pnlLogin.Visible = false

pnlWelcome.Visible = true

lblWelcome.Text = "欢迎登录," + Session["UserName"].ToString() + " 同志"

}

else

{

pnlWelcome.Visible = false

pnlLogin.Visible = true

}

//这个用来接收登录或退出后的信息。个人习惯,你也可以不这么做。

if (Session["Message"] != null)

{

lblMessage.Text = Session["Message"].ToString()

Session.Remove("Message")

}

else

lblMessage.Text = ""

}

7,先告一段落,按F5运行下,看看效果,你会发现当没有登录时,“退出”那部分没有显示。真神奇啊。

8,然后关闭这个IE页面,按VS左下角的“设计”,切换到设计视图。

9,双击设计视图的“登录”按钮,为它编写登录代码如下:

C# code

protected void btnLogin_Click(object sender, EventArgs e)

{

//下面的登录方法只是我的习惯而已,我常用DataTable做所有的事情。建议你不要依赖它……否则会被人笑话的……登录的好方法有很多,参考下就好了。

string strConnection = "SERVER=(local)DATABASE=UserTestUID=saPWD="//PWD=后面写上你的SQL SERVER 的 sa密码。

System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection(strConnection)

//SQL 语句会吧?不会没办法,照抄吧。

string strSql = "SELECT * FROM UsersTable WHERE u_name='" + txbUserName.Text + "' AND u_pwd='" + txbUserPassword.Text + "'"

//SqlDataAdapter这东西有什么用,建议你去查MSDN。

System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter(strSql, cn)

System.Data.DataTable dt = new DataTable()

da.Fill(dt)

if (dt.Rows.Count >0)

{

Session["UserName"] = dt.Rows[0]["u_name"].ToString()

Session["Message"] = "登录成功!"

Response.Redirect("default.aspx")

}

else

{

Session["Message"] = "登录失败。请重新登录。"

Response.Redirect("default.aspx")

}

}

10,再按F5测试下,在用户名和密码内输入123,按下“登录”按钮,会提示登录失败。如果都输入abc,就会提示登录成功。因为数据库内只有abc这个用户。

11,关闭IE页面,最后我们做退出。

12,回到设计视图,双击“退出”按钮,为它编写下面的代码:

C# code

protected void btnQuit_Click(object sender, EventArgs e)

{

if (Session["UserName"] != null)

{

Session.Remove("UserName")

Session["Message"] = "退出成功,欢迎您再来啊"

Response.Redirect("default.aspx")

}

}

13,按F5运行,登录成功后,按“退出”按钮,系统会提示已经退出。

14,为了验证用户是否已登录,你需要在所有需要登录的页面的Page_Load()内添加:

C# code

if(Session["UserName"]!=null)

//用户可以访问。

else

//用户不能访问,扔回到登录页面:Response.Redirect("login.aspx")

15,基本如此,搞定。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10648313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存