C# Winform 中 如何判断URL是不是存在,即使是404跳转也排除,具体用代码应该怎么实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Winform 中 如何判断URL是不是存在,即使是404跳转也排除,具体用代码应该怎么实现?相关的知识,希望对你有一定的参考价值。

参考技术A 挑一个就行了

public static bool IsExist(string uri)

HttpWebRequest req = null;
HttpWebResponse res = null;
try

req = (HttpWebRequest)WebRequest.Create(uri);
req.Method = "HEAD";
req.Timeout = 100;
res = (HttpWebResponse)req.GetResponse();
return (res.StatusCode == HttpStatusCode.OK);

catch

return false;

finally

if (res != null)

res.Close();
res = null;

if (req != null)

req.Abort();
req = null;




private bool UrlExistsUsingXmlHttp(string url)

//注意:此方法需要引用Msxml2.dll
MSXML2.XMLHTTP _xmlhttp = new MSXML2.XMLHTTPClass();
_xmlhttp.open("HEAD", url, false, null, null);
_xmlhttp.send("");
return (_xmlhttp.status == 200);

c# WINFORM 导入EXCEL数据覆盖问题

c# WINFORM当导入EXCEL数据到SQL2005的时候,如果数据库中存在该数据,则更新该条数据,如果不存在则插入到数据库。这样是不是要每次都要查询一次数据库,该条数据是否存在?假如我有1W条数据,那是一个痛苦的过程啊!有什么比较好的解决办法?
我自己解决了··其实直接用SQLSERVER触发器就可以实现了··

参考技术A 其实,不是的。你完全可以用代码来控制的,
在加载页面的时候:
插入代码:(举个例子---数据库为Library)
string strcn = @"Data source=HY\SQLEXPRESS;Initial Catalog=Library;Integrated Security=True";
SqlConnection cn = new SqlConnection(strcn);
string str = "select * from BookTable";
SqlDataAdapter adapter = new SqlDataAdapter(str, cn);
DataSet ds = new DataSet();
adapter.Fill(ds);
this.dataGridView1.DataSource = ds.Tables[0];

更新代码:
string strcn = @"Data source=HY\SQLEXPRESS;Initial Catalog=Library;Integrated Security=True";
SqlConnection cn = new SqlConnection(strcn);
string str = "select count(*) from BookTable where BookID='"+tb_Book_ID.Text+"'";
SqlCommand cmd = new SqlCommand(str,cn);
try

cn.Open();
int cnt = (int)cmd.ExecuteScalar();
if(cnt==1)

string str1 = "update BookTable set BookName='"+tb_Book_Name.Text+"',BookType='"+comboBox_BookType.Text+"',BookAuthor='"+tb_Book_Author.Text+"',BookPubHouse='"+tb_Book_PubHouse.Text+"',BookPubTime='"+dateTimePicker_出版日期.Value.ToString()+"',BookStatus='"+tb_Book_Status.Text+"' where BookID='"+tb_Book_ID.Text+"'";
cmd = new SqlCommand(str1,cn);
cmd.ExecuteNonQuery();
FrmModify_Load(null,null);


finally

cn.Close();

其实说到底就是通过快速链接数据库,进行修改,更新等操作。
谢谢
参考技术B 可以这样操作:
1、将excel的数据整体读入内存。
2、将sql中的关键列读入内存。
3、在内存中进行比对后判断是否插入。
感觉你这个小同志确实是想的比较多,这是好事。鼓励一个。本回答被提问者采纳
参考技术C 有没有key做区间判断?如能判断先将此区间内数据先全部删除掉,再做INSERT
不行就只能查一遍,再做insert或update了
参考技术D 没有好的思路
可以先把 EXCEL 中的数据分为 在数据库中有 和在数据库中 没有
两部分【sql实现】
然后 .....
第5个回答  2012-04-12 没有好的办法,只能这样判断

以上是关于C# Winform 中 如何判断URL是不是存在,即使是404跳转也排除,具体用代码应该怎么实现?的主要内容,如果未能解决你的问题,请参考以下文章

C# winform,怎么通过控件的Name属性判断某个控件是不是已经存在

winform中如何判断panelControl中的某控件是不是存在

c# winform程序 如何判断用户输入的验证码是不是正确?

C# SqlCeException:判断表是不是存在的一行 SQL

C#中winform如何在弹出新窗口的时候进行判断

c# winform程序,判断是不是打开同一个窗口的问题。