请教大家怎么将c#中的string类型变量存入到mysql中

tidus1124 2012-01-11 08:57:36
程序大概功能是将ip地址存入到mysql中。ip地址在c#中为string类型变量,mysql中对应为varchar(20)。相关代码如下:
 if (ipPacket != null)
{
System.Net.IPAddress srcIp = ipPacket.SourceAddress;
System.Net.IPAddress destIp = ipPacket.DestinationAddress;
string sip = srcIp.ToString();//将System.Net.IPAddress源ip转为string类型
string dip = srcIp.ToString();//目的ip




MySQLConnection conn = null;
conn = new MySQLConnection(new MySQLConnectionString("localhost", "ip", "root", "root").AsString);//连接名,数据库名,用户名,密码
string sql = "insert into ip1 value('?id','?srcip','?destip1')";
MySQLCommand commn = new MySQLCommand(sql , conn);
MySQLParameter Paraid = new MySQLParameter("?id", Program.id);//id为int类型,可以插入
MySQLParameter Parasrcip1 = new MySQLParameter("?srcip1", sip);//sip为string类型,出错!
MySQLParameter Paradestip1 = new MySQLParameter("?destip1", dip);



commn.Parameters.Add(Paraid);

commn.Parameters.Add(Parasrcip1);
commn.Parameters.Add(Paradestip1);



conn.Open();//连接
//MySQLCommand commn = new MySQLCommand("insert into ip1(id,srcip1,destip1) value(?id,?srcip1,?destip1)", conn);//输入sql语句
commn.ExecuteNonQuery();//执行,(插入,删除,修改)


conn.Close();

错误如图:
如果将插入语句改为不是参数,如
string sql = "insert into ip1 value('1','192.168.1.1','192.168.1.2')";

则可以插入到mysql中
...全文
247 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tidus1124 2012-01-12
  • 打赏
  • 举报
回复
2L的方法非常好用
devmiao 2012-01-12
  • 打赏
  • 举报
回复
你可以参考下这里啦:http://www.cnblogs.com/youuuu/archive/2011/06/16/2082730.html 喵~~
快乐大法师 2012-01-11
  • 打赏
  • 举报
回复


"insert into ip1 value('?id','?srcip','?destip1')"
去掉单引号 试试 value 换values
insert into ip1 values(?id,?srcip,?destip1)

MKing0412 2012-01-11
  • 打赏
  • 举报
回复
拼接一下 string

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧